保存woocommerce ITEM元数据

时间:2016-12-14 14:08:15

标签: woocommerce metadata

我在购物车中为来自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); 



}

有人可以请一些建议吗?

非常感谢。

2 个答案:

答案 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);