用图像替换WooCommerce类别存档标题

时间:2015-07-15 06:34:11

标签: php wordpress woocommerce

归档product.php

<?php if ( apply_filters( 'woocommerce_show_page_title', true ) ) : ?>

        <h1><?php woocommerce_page_title(); ?></h1>

    <?php endif; ?>

    <?php  
        **do_action( 'woocommerce_archive_description' );**

    ?>

banner是一个类别图片

此代码段用于在横幅位置显示图片,这在以前完美无缺,但现在我需要在另一个位置添加横幅,此代码段也会显示说明。如果我删除了代码段,则图片也会被删除。

screenshot

我添加的另一个钩子是在functions.php

add_action( 'woocommerce_archive_description', 'woocommerce_category_image', 2 );
function woocommerce_category_image() {

    if ( is_product_category() ){
        global $wp_query;
        $cat = $wp_query->get_queried_object();
        $thumbnail_id = get_woocommerce_term_meta( $cat->term_id, 'thumbnail_id', true );
        $image = wp_get_attachment_url( $thumbnail_id );

        if ( $image ) {
            echo '<div class="gb_coolection_banner"><img class="gb_promo_image" src="' . $image . '" alt="" /></div><div class="'
                    . 'clearboth"></div>' . $cat->description;
        }
    }
}

3 个答案:

答案 0 :(得分:0)

$ cat-&gt;说明位正在打印出您不想要的文字。如果您仍然在其他地方使用此功能,则需要在没有该行的情况下编写另一个函数并将其调用。否则删除该位将在调用方法的任何地方修复它。

答案 1 :(得分:0)

您需要从archive-product.php模板中显示的woocommerce_product_archive_description挂钩中取消隐藏woocommerce_product_archive_descriptionwoocommerce_archive_description

您可以在主题的functions.php中使用remove_action()

function so_31423071_remove_archive_description(){
    remove_action( 'woocommerce_archive_description', 'woocommerce_taxonomy_archive_description' );
    remove_action( 'woocommerce_archive_description', 'woocommerce_product_archive_description' );
}
add_action( 'woocommerce_before_main_content', 'so_31423071_remove_archive_description' );

答案 2 :(得分:0)

目前我已经解决了这个问题,并在我的style.css文件中进行了更改,以实现所需的功能。

未来的解决方案仍然受到欢迎。 :)