在WooCommerce循环中显示单个类别名称

时间:2018-05-29 作者:wpdev

我想在商店循环中显示woocommerce单品类别。我用的是钩子动作。这是我的代码:

<?php 
remove_action(\'woocommerce_shop_loop_item_title\', \'woocommerce_template_loop_product_title\', 10);

function loop_title() { ?>
    <div class="col-xl-3 col-md-3 col-sm-3">
        <h3><a href="<?php the_permalink(); ?>" class="feed-item-baslik"><?php the_title(); ?></a></h3>
        <?php 
        global $post;
        $postcat = get_the_category( $term_id );

        if ( ! empty( $postcat ) ) {
            echo esc_html( $postcat[0]->name );   
        }
        ?>
    </div>
<?php }
add_action(\'woocommerce_shop_loop_item_title\', \'loop_title\', 10);
?>
但它不显示类别名称。我还尝试了get\\u queryed\\u object和get\\u term。

1 个回复
最合适的回答,由SO网友:dhirenpatel22 整理而成

<?php 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">
    <h3><a href="<?php the_permalink(); ?>" class="feed-item-baslik"><?php the_title(); ?></a></h3>
    <?php 
    $terms = get_the_terms( $post->ID, \'product_cat\' );
    if ( $terms && ! is_wp_error( $terms ) ) :
        if ( ! empty( $terms ) ) {
            echo $terms[0]->name;
        }?>
    <?php endif;?>
</div>
<?php }
add_action(\'woocommerce_shop_loop_item_title\', \'loop_title\', 10); ?>
已替换get_the_category() 具有get_the_terms(). 希望这有帮助!!

结束