Intereting Posts
Переменная $ post. Получил ли я понимание того, как обрабатываются действия Backend? Как кто-то может отправить комментарий, когда у моего сайта нет поля для комментариев? настраиваемое поле (видео / аудио url) и встроенная функциональность Есть ли плагин, который учитывает сообщения автора? Не разрешать использование JavaScript в области содержимого Использование пользовательского режима темы WordPress для выбора шаблонов страниц, которые обновляют макет в предварительном просмотре выдержка в символах Слойные классы изображений из HTML-вывода Лучшая коллекция кода для вашего .htaccess файла Как использовать таксономический термин как значение get_template_part? Как использовать WordPress условные теги в get_posts foreach loop Уникальный пароль для доступа к сайту раздела Поиск автозаполнения WordPress с таксономиями Соглашение об именовании функций Parallax WordPress тема без hardcoding – возможно?

Условное выделение URL-адреса родительской страницы

В настоящее время я использую этот код, чтобы захватить URL-адрес отображаемого изображения и вставить его в качестве фонового изображения:

<?php $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full' );?> <div class='guideHeader' style='background-image: url(<?php echo $thumb['0']; ?>);'> 

Я бы хотел сделать это условным:

  1. Если родительская страница> Вставить адрес эскиза.
  2. Если дочерний элемент родителя и не имеет признака> вставить родительский миниатюрный URL.
  3. Если ребенок родителя и имеет изображение> Вставить адрес эскиза.

Solutions Collecting From Web of "Условное выделение URL-адреса родительской страницы"

 <?php $id = $post->ID; if( ! has_post_thumbnail( $id ) ) { // the current page has no feature image // so we'll see if a) it has a parent and b) the parent has a featured image $ancestors = get_ancestors( $post->ID, 'page' ); $parent_id = $ancestors[0]; if( has_post_thumbnail( $parent_id ) ) { // we'll use the parent's featured image $id = $parent_id; } } $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($id), 'full' ); ?> <div class='guideHeader' style='background-image: url(<?php echo $thumb['0']; ?>);'> 

В результате, если текущая страница имеет установленный набор изображений, она будет использоваться. Если это не так, но у него есть родительская страница, мы проверим, есть ли у этого родителя изображение с изображением. Если это так, мы будем использовать ID этой страницы, чтобы получить изображение с изображением. Если на родительской странице отсутствует изображение с изображением, мы просто используем ID текущей страницы и позволяем фишкам упасть туда, где они могут.

Это быстро и грязно, и никакой реальной обработки ошибок не происходит. (Взгляд на страницы Codex для get_post_thumbnail_id() и wp_get_attachment_image_src() указывает, что они оба вернут false если нет изображения, которое означает, что в худшем случае ваша страница не будет иметь фоновое изображение.)

Рекомендации

  • get_ancestors()
  • has_post_thumbnail()
  • get_post_thumbnail_id()
  • wp_get_attachment_image_src()