我在购物车中为来自functions.php。
中的函数的每个项目动态创建一些元数据在CHECKOUT中,我想保存当前订单的每个项目的每个元数据。
通过这种方式,一旦订单完成,我需要在woo commerce admin和woocommerce email中显示这些数据。
基本上,我需要保存$ date_start,$ duration,$ end_date 订单完成后,在woocomerce管理员和电子邮件中接收此数据。
function get_infos_order ($date_start,$duration){
$end_date = strtotime('+ '.$duration, $date_start);
}
有人可以请一些建议吗?
非常感谢。
答案 0 :(得分:1)
Muhammad Muazzam解决方案没问题,但不推荐使用woocommerce_add_order_item_meta
,您必须使用wc_add_order_item_meta
function add_order_item_meta($item_id, $values) {
$key = ''; // Define your key here
$value = filter_input(INPUT_POST, 'key_name'); // Safer retrieval
wc_add_order_item_meta( $item_id, $meta_key, $meta_value);
}
add_action('woocommerce_add_order_item_meta', 'add_order_item_meta', 10, 2);
来源:https://docs.woocommerce.com/wc-apidocs/source-function-woocommerce_add_order_item_meta.html#428-433
答案 1 :(得分:0)
使用此功能保存它们:
function add_order_item_meta($item_id, $values) {
$key = ''; // Define your key here
$value = $_POST['key_name']; // Get your value here
woocommerce_add_order_item_meta($item_id, $key, $value);
}
add_action('woocommerce_add_order_item_meta', 'add_order_item_meta', 10, 2);