如何通过JetEngine编程更新WooCommerce产品的Meta Box元字段?
编程更新JetEngine创建的WooCommerce产品元字段
方法一:通过REST API更新
既然你已经在JetEngine元字段设置里启用了REST API支持,直接用WordPress REST API即可操作:
- 确认元字段的API键名
发送GET请求到产品的REST端点(/wp-json/wp/v2/product/{产品ID}),在返回的meta对象里找到对应JetEngine字段的键名——通常是你创建字段时设置的slug,可能带jet_engine_前缀,也可能直接是原slug。 - 发送PUT请求更新
带上认证信息(Bearer Token或Basic Auth),向同一端点发送PUT请求,请求体包含要更新的元字段:{ "meta": { "your_jetengine_field_slug": "新的字段值" } }- 如果字段是特殊类型(比如媒体ID、多选数组),要对应传入正确格式的值,比如媒体字段传数字ID,多选字段传数组
["选项1", "选项2"]。
- 如果字段是特殊类型(比如媒体ID、多选数组),要对应传入正确格式的值,比如媒体字段传数字ID,多选字段传数组
方法二:通过PHP代码更新
JetEngine创建的元字段本质就是WordPress的post meta,直接用WordPress/WooCommerce内置函数即可:
// 替换为实际的产品ID和元字段slug $product_id = 123; $meta_key = "your_jetengine_field_slug"; // 从JetEngine字段设置里复制slug $new_value = "更新后的内容"; // 执行更新 update_post_meta($product_id, $meta_key, $new_value); // 若字段影响产品核心数据(如价格、库存),刷新产品缓存 $product = wc_get_product($product_id); $product->save();
注意事项
- 权限验证:REST API方式需要确保请求用户拥有编辑产品的权限;PHP代码中如果在前端执行,建议先通过
current_user_can('edit_product', $product_id)验证权限。 - 字段类型匹配:根据字段类型传入对应格式的值,比如日期字段用
Y-m-d格式,布尔字段传true/false或1/0。
内容的提问来源于stack exchange,提问作者JorensM
相关产品推荐
相关产品推荐

