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

如何用Jcodex WooCommerce结账字段编辑器实现购物车关联自定义选择字段

实现动态关联购物车商品的自定义选择字段

步骤1:在Jcodex插件中创建基础选择字段

  • 进入WooCommerce后台,打开Jcodex WooCommerce Checkout Field Editor
  • 在结账字段编辑界面,添加一个新的Select Field(选择字段)
  • 填写字段核心信息:字段标签设为「关联购物车商品」,字段名称设为cart_items_select(自定义唯一标识,后续代码会用到)
  • 无需手动添加选项,直接保存字段设置

步骤2:添加自定义代码实现动态选项

将以下代码添加到当前主题的functions.php文件,或使用代码片段插件(如Code Snippets)执行:

add_filter('jcodex_checkout_field_options', 'dynamic_cart_items_select_options', 10, 2);
function dynamic_cart_items_select_options($options, $field) {
    // 仅针对我们创建的目标选择字段
    if ($field['name'] !== 'cart_items_select') {
        return $options;
    }

    $new_options = array();
    // 遍历购物车所有商品生成选项
    foreach (WC()->cart->get_cart() as $cart_item) {
        $product = $cart_item['data'];
        // 以商品ID为选项值,商品名称为选项文本(可按需调整为SKU/型号等)
        $new_options[$product->get_id()] = $product->get_name();
    }

    // 购物车为空时添加提示选项
    if (empty($new_options)) {
        $new_options[''] = '购物车中无商品';
    }

    return $new_options;
}

代码说明

  • jcodex_checkout_field_options是Jcodex插件提供的过滤钩子,专门用于修改选择字段的选项列表
  • 代码通过判断字段标识,确保只修改目标字段的选项,不影响其他字段
  • 自动同步购物车商品:添加/移除商品时,结账页面的选择选项会实时更新

验证效果

  • 往购物车添加「鼠标」「键盘」等商品,进入结账页面即可看到对应选项
  • 移除购物车商品后,选项会自动同步减少

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 14:44:52