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

如何在WordPress的Redux框架中实现产品列表的Select下拉框

Redux框架实现Select下拉框展示产品列表

要让Redux的Select组件正确显示产品列表,你可以通过自定义回调函数精准获取产品数据,比默认的post_type数据源更灵活,具体步骤如下:

1. 定义产品查询回调函数

先编写一个函数,查询所有发布状态的产品并整理成Select组件需要的键值对格式:

function get_redux_product_options() {
    $product_options = array();
    
    // 查询参数:获取所有已发布的产品,按标题升序排列
    $products = get_posts(array(
        'post_type'      => 'product',
        'post_status'    => 'publish',
        'posts_per_page' => -1, // 获取全部产品
        'orderby'        => 'title',
        'order'          => 'ASC'
    ));

    if (!empty($products)) {
        foreach ($products as $product) {
            $product_options[$product->ID] = $product->post_title;
        }
    } else {
        $product_options[''] = '暂无产品';
    }

    return $product_options;
}

2. 修改Redux字段配置

将原来的data参数改为callback,指向上面定义的函数,确保组件能正确调用产品列表:

$fields = array(
    'id'    => 'creations_pro_id',
    'type'  => 'select',
    'title' => '选择关联产品', // 可选:添加字段标题提升可读性
    'data'  => 'callback',
    'args'  => array(
        'function' => 'get_redux_product_options'
    )
),

注意事项

  • 确保你的product自定义文章类型注册时设置了public => true,否则get_posts无法查询到数据;
  • 回调函数要在Redux字段注册之前定义,或者通过add_action('init', 'get_redux_product_options')确保函数被提前加载;
  • 如果需要筛选特定分类的产品,可以在get_posts参数里添加tax_query实现更精准的筛选。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 17:12:26