WooCommerce的特色形象是页面而不是产品

时间:2017-11-07 作者:Steviehype

我有一个自定义主题,其中我有一个woocommerce。php文件显示店铺主页。这很简单:

get_header(); ?>

<div id="primary" class="content-area">
    <main id="main" class="site-main">

        <div id="page-header-image">
            <?php the_post_thumbnail(); ?>
        </div>

        <?php woocommerce_content(); ?>

    </main><!-- #main -->
</div><!-- #primary -->

<?php

get_footer();
然而,the_post_thumbnail(); 显示页面上第一个产品的特色图像。

如何显示页面特色图像而不是产品?

谢谢

2 个回复
SO网友:user142027

多亏了你,我在我的函数上尝试了这个。在我的案例4中,phpIt工作了,但还必须获得页面的ID。

add_action( \'woocommerce_before_main_content\', \'woocommerce_category_image\', 2 );
function woocommerce_category_image() {
    if ( is_product_category() ){
        global $wp_query;
        $cat = $wp_query->get_queried_object();
        $thumbnail_id = get_term_meta( $cat->term_id, \'thumbnail_id\', true );
        $image = wp_get_attachment_url( $thumbnail_id );
        if ( $image ) {
            echo \'<div class="category-image"><img src="\' . $image . \'" alt="\' . $cat->name . \'" /></div>\';
        }
    }
    if ( is_shop() ){
        $target_post_id = \'4\';
        $image = wp_get_attachment_url(get_post_thumbnail_id($target_post_id));
        echo \'<div class="category-image"><img src="\' . $image. \'" alt="\' . $target_post_id->name . \'" /></div>\';   
    }
}

SO网友:Steviehype

好吧,如果这对其他人有用,我就是这么做的。

我找不到一个明显的方法,所以我得到了我想从中提取特色图片的页面ID,然后从中获得了附件URL。

我确信有一种更优雅的方法存在,但我需要一些快速的方法。这暂时有效!

get_header(); ?>

<div id="primary" class="content-area">
    <main id="main" class="site-main">

        <?php 
        //Only show the header image if it\'s the shop homepage. Not product pages etc
        if ( is_shop() ):?>

            <div id="page-header-image">
                <?php 
                //Get a specific featured image based on page id. In this case the shop page which happens to be 110
                $target_post_id = \'110\';
                $feat_image = wp_get_attachment_url(get_post_thumbnail_id($target_post_id));
                echo \'<img src="\'. $feat_image.\'">\';
                ?>
            </div>

        <?php endif; ?>

        <?php woocommerce_content(); ?>

    </main><!-- #main -->
</div><!-- #primary -->

<?php
get_footer();

结束

相关推荐

Custom Category Archive Pages

我有一个带有6个类别的WP安装,我希望其中3个使用名为“Category special.php”的自定义类别归档页面(默认页面是“Category.php”)。我发现下面的代码看起来很接近我的查询,我如何修改它并使其适合我,所以类别31、40和55可以加载上面的特定页面?add_filter( \'template_include\', \'wpsites_photo_page_template\', 99 ); function wpsites_photo_page_template( $te