You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WooCommerce技术问题:在店铺/归档页面商品标题下显示商品分类

解决WooCommerce商品标题与价格间添加分类无效果的问题
  • 确认模板文件路径是否正确
    必须将archive-product.php放在当前激活主题的woocommerce子文件夹下,正确路径为:wp-content/themes/[你的主题名称]/woocommerce/archive-product.php。若直接放在主题根目录,WordPress会优先调用WooCommerce默认模板,你的修改不会生效。

  • 检查代码插入位置
    打开主题内的archive-product.php,找到商品标题与价格的输出区块,在do_action( 'woocommerce_shop_loop_item_title' );之后、价格输出代码之前插入分类显示代码。示例代码如下:

    <?php
    // 获取并输出当前商品所属分类
    $product_cats = get_the_terms( get_the_ID(), 'product_cat' );
    if ( $product_cats && !is_wp_error( $product_cats ) ) {
        $cat_names = array();
        foreach ( $product_cats as $cat ) {
            $cat_names[] = $cat->name;
        }
        echo '<div class="product-category">' . implode( ', ', $cat_names ) . '</div>';
    }
    ?>
    
  • 推荐用钩子替代模板修改(更安全)
    直接修改模板文件易在主题更新时丢失改动,建议通过WooCommerce钩子实现。在当前主题的functions.php中添加以下代码:

    add_action( 'woocommerce_after_shop_loop_item_title', 'show_product_category_between_title_price', 15 );
    function show_product_category_between_title_price() {
        global $product;
        $product_cats = get_the_terms( $product->get_id(), 'product_cat' );
        
        if ( $product_cats && !is_wp_error( $product_cats ) ) {
            $cat_names = wp_list_pluck( $product_cats, 'name' );
            echo '<span class="product-category">' . esc_html( implode( ', ', $cat_names ) ) . '</span>';
        }
    }
    

    这里设置钩子优先级为15(标题钩子优先级为10,价格钩子为20),确保分类刚好显示在两者之间。

  • 清除缓存
    修改后若仍无效果,清除WordPress缓存插件(如WP Rocket、W3 Total Cache)及浏览器缓存,避免旧页面缓存导致修改不显示。

内容的提问来源于stack exchange,提问作者Giannis Savvopoulos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 06:15:40