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

自定义WooCommerce插件设置页多产品分类选择实现求助

WooCommerce产品分类多选实现方案

以下是和你现有产品多选逻辑一致的产品分类多选实现代码,可直接集成到插件设置页中,选中的分类ID会保存到options表:

<select class="wc-product-search" multiple="multiple" style="width: 50%;" id="namedayemail_options[exclude_cats]" name="namedayemail_options[exclude_cats][]" data-placeholder="<?php esc_attr_e( 'Search for a product category&hellip;', 'woocommerce' ); ?>" data-action="woocommerce_json_search_products_categories" >
    <?php
    if (isset($options['exclude_cats'])) {
        $ex_category_ids = $options['exclude_cats'];
        foreach ( $ex_category_ids as $category_id ) {
            $category = get_term( $category_id, 'product_cat' );
            if ( is_object( $category ) && !is_wp_error( $category ) ) {
                echo '<option value="' . esc_attr( $category_id ) . '"' . selected( true, true, false ) . '>' . wp_kses_post( $category->name ) . '</option>';
            }
        }
    }
    ?>
</select>

关键改动说明:

  • 字段名称替换为exclude_cats,可根据你的实际需求调整字段标识
  • data-action改为woocommerce_json_search_products_categories,这是WooCommerce内置的AJAX动作,支持实时搜索产品分类
  • 占位符文本更新为产品分类搜索提示
  • PHP部分使用get_term()函数获取产品分类对象(产品分类对应的分类法为product_cat),输出分类名称并保持选中状态

保存逻辑说明

如果你的插件设置保存逻辑已经支持数组类型(和现有产品多选的exclude_prods处理逻辑一致),无需额外修改保存代码,exclude_cats数组会自动保存到options表中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 20:32:33