在WooCommerce中,后台order编辑页面可以手动添加自定义字段,而无需meta box。
但是,我们有时候就需要在编辑页开发我们的功能,避免不了使用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();
}
© 版权声明
THE END
暂无评论内容