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

自定义WooCommerce商品分类小工具 添加“全部”商店归档链接

WooCommerce 旧版Product Category小工具自定义方案

钩子接入修改方案(轻量首选)

可以通过WooCommerce内置的过滤器钩子直接修改旧版Product Category小工具的输出,不需要重写整个小工具,适合仅添加「All」链接的需求。

将以下代码添加到主题functions.php文件或自定义插件中即可生效:

// 给旧版WooCommerce商品分类小工具添加All跳转链接
add_filter('woocommerce_product_categories_widget_html', 'custom_add_all_category_link_to_widget', 10, 2);
function custom_add_all_category_link_to_widget($html, $args) {
    // 获取Shop存档页链接
    $shop_url = get_permalink( wc_get_page_id( 'shop' ) );
    // 构造All链接的HTML
    $all_link = '<li class="cat-item cat-item-all"><a href="'.esc_url($shop_url).'">'.esc_html__('All', 'your-text-domain').'</a></li>';
    // 把All链接插入到分类列表的最前面
    $html = str_replace('<ul class="product-categories">', '<ul class="product-categories">'.$all_link, $html);
    return $html;
}

注意:代码中your-text-domain需要替换为你的主题/插件对应的文本域,方便多语言适配。

子类重写注册新小工具方案(适合重度自定义)

如果你的需求不止是加All链接,还需要修改分类查询逻辑、输出结构等更多自定义内容,最优方式是继承原有小工具类重写后注册新的小工具,实现逻辑如下:

// 注册自定义商品分类小工具
add_action('widgets_init', 'custom_register_product_category_widget');
function custom_register_product_category_widget() {
    // 可选:注销原有旧版小工具,如果不需要保留原有小工具的话可取消注释
    // unregister_widget('WC_Widget_Product_Categories');
    // 注册自定义小工具
    register_widget('Custom_WC_Widget_Product_Categories');
}

// 继承原有小工具类重写逻辑
class Custom_WC_Widget_Product_Categories extends WC_Widget_Product_Categories {
    // 重写输出方法
    public function widget($args, $instance) {
        // 先执行原有的小工具输出前置逻辑
        $this->widget_start($args, $instance);
        
        // 输出All链接
        echo '<ul class="product-categories">';
        echo '<li class="cat-item cat-item-all"><a href="'.esc_url(get_permalink( wc_get_page_id( 'shop' ))).'">'.esc_html__('All', 'your-text-domain').'</a></li>';
        
        // 调用原有的分类列表输出逻辑
        $this->list_categories($instance);
        
        echo '</ul>';
        
        // 执行原有的小工具输出后置逻辑
        $this->widget_end($args);
    }
}

方案选择建议

  • 仅添加「All」链接:优先选择钩子方案,代码量小,兼容性高,后续WooCommerce更新小工具逻辑时受影响概率更低
  • 需要修改原有小工具的查询规则、输出结构等复杂需求:选择子类重写方案,逻辑可控度更高,不会因为钩子调整导致自定义内容失效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:27:02