Wordpress Genesis 主题使用特色图片显示自定义 header/background 图片

Wordpress Genesis theme display a custom header/background image using featured image

我正在使用 Genesis 框架构建网站。我 运行 在向每个页面添加自定义 header 并 post 使用管理区域中的特色图像 link 时遇到了问题。现在,特色图片 header 不会显示在我指定为 "Reading" 设置下的 "Blog" 页面的页面上。

这是站点 URL、http://ajcustomfinishes.starfireclients.com/

这是我正在使用的函数:

// Create new image size for our hero image
add_image_size( 'hero-image', 1400, 400, TRUE ); // creates a hero image size

// Hook after header area
add_action( 'genesis_after_header', 'bw_hero_image' );

function bw_hero_image() {
// If it is a page and has a featured thumbnail, but is not the front page do the following...
    if (has_post_thumbnail() && is_page() ) {
        // Get hero image and save in variable called $background
        $image_desktop = wp_get_attachment_image_src( get_post_thumbnail_id( $page->ID ), 'hero-image' );
        $image_tablet = wp_get_attachment_image_src( get_post_thumbnail_id( $page->ID ), 'large' );
        $image_mobile = wp_get_attachment_image_src( get_post_thumbnail_id( $page->ID ), 'medium' );

        $bgdesktop = $image_desktop[0];
        $bgtablet = $image_tablet[0];
        $bgmobile = $image_mobile[0];

// You can change above-post-hero to any class you want and adjust CSS styles
        $featured_class = 'above-post-hero';

 ?> 
<div class='<?php echo $featured_class; ?>'><h1 class="custom-title">AJ Customs Finishes in Las Vegas<br>Call 702-795-7338 today!</h1></div>
<style>
    <?php echo ".$featured_class "; ?> {background-image:url( <?php echo $bgmobile; ?>);height:176px;}

        @media only screen and (min-width : 480px) {       
        <?php echo ".$featured_class "; ?> {background-image:url(<?php echo $bgtablet;?>);height:276px;}
        }
        @media only screen and (min-width : 992px) {       
        <?php echo ".$featured_class "; ?> {background-image:url(<?php echo $bgdesktop;?>);height:400px;}
        }
</style>
<?php
    } 
}

有人知道如何使用特色图片在每个页面上显示自定义 header 吗?

您的代码中有这个条件,如果您在阅读设置中将页面设置为博客,则该条件将为 FALSE:

    if (has_post_thumbnail() && is_page() ) {

is_page() 在博文主页(您为阅读中的帖子设置的页面)上将为 false。

您需要将此条件设置为 is_home() 为真,即您可以将代码重新用于:

    if (has_post_thumbnail() && is_page() || is_home()) {