将当前类别名称附加到woocommerce类别档案上的产品标题

时间:2018-12-20 14:17:48

标签: php wordpress woocommerce hook-woocommerce custom-taxonomy

我想在woocommerce中在产品名称中显示当前类别。什么仅适用于可变产品。

下面的代码部分起作用,但是需要一些修改:

1-仅适用于可变产品。

2-显示观看者不在主要产品类别中的当前类别。

remove_action('woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title', 10);
function loop_title() { 
global $post;?>
<div class="col-xl-3 col-md-3 col-sm-3">
    <h2><a href="<?php the_permalink(); ?>" class="feed-item-baslik"><?php the_title(); ?> <?php 
    $terms = get_the_terms( $post->ID, 'product_cat' );
    if ( $terms && ! is_wp_error( $terms ) ) :
        if ( ! empty( $terms ) ) {
            echo $terms[0]->name;
        }?>
    <?php endif;?></a></h2>

</div>
<?php }
add_action('woocommerce_shop_loop_item_title', 'loop_title', 10);

1 个答案:

答案 0 :(得分:3)

已更新:以下各项应按预期工作:

add_action( 'woocommerce_shop_loop_item_title', 'custom_shop_loop_item_title', 5 );
function custom_shop_loop_item_title() {
    global $product;

    if ( $product->is_type('variable') && is_product_category() ) {
        remove_action('woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title', 10);
        add_action('woocommerce_shop_loop_item_title', 'custom_product_loop_title', 10);
    }
}

function custom_product_loop_title() {
    $taxonomy       = 'product_cat';
    $queried_object = get_queried_object();
    ?>
    <div class="col-xl-3 col-md-3 col-sm-3">
        <h2><a href="<?php the_permalink(); ?>" class="feed-item-baslik"><?php the_title();
        // For product category archives pages
        if( is_a($queried_object, 'WP_Term') && $queried_object->taxonomy === $taxonomy ) {
            echo ' ' . $queried_object->name;
        }
        ?></a></h2>
    </div>
    <?php
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。