WooCommerce的order编辑页添加meta box的注意事项

在WooCommerce中,后台order编辑页面可以手动添加自定义字段,而无需meta box。

图片[1]-WooCommerce的order编辑页添加meta box的注意事项 - KEKC博客-KEKC博客

但是,我们有时候就需要在编辑页开发我们的功能,避免不了使用meta box,也就需要自定义字段来辅助。这其中就有一些注意事项需要规避。

1、meta key需要以“_”开头,目的是屏蔽在自定义字段处显示,造成更新时的覆盖更新,然后造成只要是更新,就会被旧数据重新覆盖;

2、order属于是自定义文章类型,其ID为“shop_order”。

示例代码和文章的相差无几,注意保存的字段需以“_”开头:

// 添加meta box
add_action('admin_init', function (){
add_meta_box('order_meta_box_id', '标题', 'order_meta_box_display', 'shop_order', 'side', 'high');
});
function order_meta_box_display(){
//展示在
echo '数据:<input type="text" name="data">';
}
//保存订单字段
add_action('woocommerce_process_shop_order_meta', function ($order_id) {
// 获取$_POST数据,并保存
$data = $_POST['data'];//适当消毒,这里就不进行操作了
$order = wc_get_order($order_id);
$order->update_meta_data('_data', $data);
$order->save();
}
// 添加meta box
add_action('admin_init', function (){
  add_meta_box('order_meta_box_id', '标题', 'order_meta_box_display', 'shop_order', 'side', 'high');
});
function order_meta_box_display(){
  //展示在
  echo '数据:<input type="text" name="data">';
}

//保存订单字段
add_action('woocommerce_process_shop_order_meta', function ($order_id) {
  // 获取$_POST数据,并保存
  $data = $_POST['data'];//适当消毒,这里就不进行操作了
  $order = wc_get_order($order_id);
  $order->update_meta_data('_data', $data); 
  $order->save();
}
// 添加meta box add_action('admin_init', function (){ add_meta_box('order_meta_box_id', '标题', 'order_meta_box_display', 'shop_order', 'side', 'high'); }); function order_meta_box_display(){ //展示在 echo '数据:<input type="text" name="data">'; } //保存订单字段 add_action('woocommerce_process_shop_order_meta', function ($order_id) { // 获取$_POST数据,并保存 $data = $_POST['data'];//适当消毒,这里就不进行操作了 $order = wc_get_order($order_id); $order->update_meta_data('_data', $data); $order->save(); }
© 版权声明
THE END
喜欢就支持一下吧
点赞4 分享
No matter how you feel, get up, dress up and fight for your dreams.
无论你现在感觉如何,请起床、穿好衣服然后为你的梦想而奋斗
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称常用语 夸夸
夸夸
还有吗!没看够!
表情代码图片

    暂无评论内容