当客户下订单时,是否可以自动将客户自定义字段的值复制到订单的自定义字段?
应该使用任何插件/扩展程序还是通过幕后自定义编码来完成?
此自定义字段不需要显示在客户订单视图上。当我们通过 API 获取订单时,我们只需要它来区分订单是由 Consumer 还是 Wholesale 下的。
我对这个系统完全陌生,我做了很多研究,但找不到任何方向。
任何意见/建议将不胜感激。
您可以使用woocommerce_thankyou
将此用户数据添加到订单元数据的钩子:
add_action( 'woocommerce_thankyou', 'orders_from_processing_to_pending', 10, 1 );
function orders_from_processing_to_pending( $order_id ) {
if ( ! $order_id )
return;
$order = wc_get_order( $order_id );
$user_id = get_current_user_id();
//Set HERE the meta key of your custom user field
$user_meta_key = 'some_meta_key';
// Get here the user custom field (meta data) value
$user_meta_value = get_user_meta($user_id, $user_meta_key, true);
if ( ! empty($user_meta_value) )
update_post_meta($order_id, $user_meta_key, $user_meta_value);
else
return;
}
代码位于活动子主题的 function.php 文件中(活动主题或任何插件文件中)。
这段代码已经过测试并且可以工作。
之后,如果您想在管理编辑订单后端或前端客户查看订单和电子邮件通知中显示该值,您将不得不使用更多代码和其他一些挂钩......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)