Intereting Posts
Отображать таксономии пользовательских сообщений в виде страницы архива Изменение структуры URL-адреса RSS-ленты Перемещение веб-приложения PHP в WordPress Сбрасывает ли данные сообщения, необходимые с помощью пользовательских команд WP_CLI? Исключить страницу из результатов цикла Как установить равный размер изображения для обратного изображения, используемого для Featured Image (динамически) Ограничение количества терминов таксономии (изображений) Проверьте, существует ли действие, связанное с действием, перед добавлением к нему действий template_redirect (), похоже, не работает Отображение разного кода на страницах с разными макетами Показывать различные макеты веб-сайта, если боковая панель не добавлена Пользовательские данные типа сообщений Не удается войти. WordPress говорит, что моя учетная запись не существует Как запрашивать сообщения (в иерархическом пользовательском типе сообщений), в которых есть дети? Использование блога Slent для записей в блогах

Отображение различных изображений заголовков на основе текущей страницы

Я хочу отображать на основе текущей страницы другое изображение заголовка.

Краткий пример:

  • Главная -> Изображение A
  • PageId 1,2,3,4 -> Изображение B (2,3,4 – это детские страницы 1)
  • PageId 5, 6 -> Изображение C

Я попытался отредактировать header.php моей темы, потому что есть блок кодирования, который отображает изображение заголовка:

<?php // The header image // Check if this is a post or page, if it has a thumbnail, and if it's a big one if ( is_singular() && has_post_thumbnail( $post->ID ) && ( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), array( $header_image_width, $header_image_width ) ) ) && $image[1] >= $header_image_width ) : // Houston, we have a new header image! echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' ); else : // Compatibility with versions of WordPress prior to 3.4. if ( function_exists( 'get_custom_header' ) ) { $header_image_width = get_custom_header()->width; $header_image_height = get_custom_header()->height; } else { $header_image_width = HEADER_IMAGE_WIDTH; $header_image_height = HEADER_IMAGE_HEIGHT; } // echo "here"; ?> <img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" /> <?php endif; // end check for featured image or standard header ?> 

Поэтому я пытаюсь подключиться к следующему elseif: (я удалил <?php ?> Для удобства чтения)

 if(is_home()){ <img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" /> }else if(is_page(1){ <img src="http://.../ImageB.png" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" /> }else{ <img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" /> } 

Но это не сработало, вместо этого не было показано изображение заголовка.

Как я могу это достичь?

BR, mybecks

Solutions Collecting From Web of "Отображение различных изображений заголовков на основе текущей страницы"

На else if отсутствует закрывающая скобка: } elseif ( is_page(1) ) { .

Поскольку все, что вы меняете, это имя файла, достаточно использовать следующий код:

 if ( is_home() ) $my_header_image = get_header_image(); elseif ( is_page(1) ) $my_header_image = "http://.../ImageB.png"; elseif ( is_... ) $my_header_image = ...; else... ?> <img src="<?php echo $my_header_image; ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" />