Intereting Posts
Как удалить заголовок с определенной страницы Создание шаблона страницы с некоторым статическим содержимым Пометка сообщений для пользовательских таксономий с использованием XMLRPC в R Как авто gen. значения пользовательских сообщений в других настраиваемых типах сообщений в URL-адресе? Как запросить все прикрепленные изображения, найденные в галереях Как отключить фид пользовательского типа сообщений? Получить фотографии пользователя Facebook в виде WordPress Upload Оберните все изображения для записей внутри элемента div Как показать дочерние страницы как массив Всплывающее изображение из текста Получены ли плагиновые переводы, автоматически установленные в WordPress? Условия таксономии поиска, а не сообщения Поверните фрагмент HTML и PHP в короткий код показать визуальную форму строителя в передней части Изменить выход комментариев_popup_link

Условное выделение 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()