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

WooCommerce:扩展后台产品列表快速筛选功能

解决方案

你可以用restrict_manage_posts这个钩子,它专门用来在后台自定义文章类型(包括WooCommerce产品)的筛选栏添加自定义内容。配合这个钩子就能直接在产品列表的筛选区域添加一键筛选的链接,无需额外处理复杂逻辑(WooCommerce默认支持通过product_cat参数过滤产品)。

具体实现代码(添加到你的自定义插件中)

add_action('restrict_manage_posts', 'add_one_click_product_category_filters');
function add_one_click_product_category_filters() {
    // 仅在产品列表页面生效
    global $typenow;
    if ($typenow !== 'product') return;

    // 替换为你需要的目标分类ID和名称
    $target_cats = [
        123 => '深层分类A', // 示例分类ID:123,显示名称:深层分类A
        456 => '深层分类B'  // 示例分类ID:456,显示名称:深层分类B
    ];

    foreach ($target_cats as $cat_id => $cat_name) {
        $category = get_term_by('id', $cat_id, 'product_cat');
        if (!$category) continue;

        // 构建筛选链接,沿用WooCommerce原生筛选逻辑
        $filter_url = add_query_arg(
            [
                'product_cat' => $category->slug,
                'post_type'   => 'product'
            ],
            admin_url('edit.php')
        );

        // 输出按钮样式的筛选链接,和后台原生按钮风格统一
        echo '<a href="' . esc_url($filter_url) . '" class="button">' . esc_html($cat_name) . '</a>';
    }
}

关键说明

  1. 替换代码里的123、456为你实际需要的分类ID,分类ID可以在WooCommerce后台的分类编辑页面查看(地址栏中的tag_ID参数)。
  2. 代码输出的链接用了后台默认的button类,和原生筛选区域的按钮样式一致,不会破坏界面统一性。
  3. 点击链接后会直接触发WooCommerce原生的分类筛选逻辑,无需额外编写查询处理代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 14:04:59