使用优惠码WooCommerce填写自定义字段

时间:2016-03-02 13:42:45

标签: wordpress woocommerce field segment coupon

现在我正在使用一个需要自定义字段进行验证/分段的mailchimp插件。

对于此细分,我想查看使用的是哪种优惠券。所以我清除了以下代码,这些代码应该使用优惠券填充我的自定义字段:

add_action( 'woocommerce_checkout_update_order_meta', 
'my_custom_checkout_field_update_order_meta' );

function my_custom_checkout_field_update_order_meta( $order_id ) {
if ( empty( $_POST['my_field_name'] ) ) {
    $coupons = $order->get_used_coupons();
    update_post_meta( $order_id, 'my_field_name', $coupons);
}
}

可悲的是,这只会让我的网站崩溃。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您的代码存在一些问题:

  • 您无法验证该字段是否包含任何信息,因此您需要 检查$_POST是否具有my_field_name密钥
  • 您需要加载$order变量才能获得使用过的优惠券。
  • 当有my_field_value时会发生什么?你存放它吗?

以下是修改过的代码:

add_action( 'woocommerce_checkout_update_order_meta', 
'my_custom_checkout_field_update_order_meta' );

function my_custom_checkout_field_update_order_meta( $order_id, $posted ) {
  if ( isset($_POST['my_field_name']) && empty( $_POST['my_field_name'])) {
    $order = new WC_Order( $order_id );
    $coupons = $order->get_used_coupons();
    update_post_meta( $order_id, 'my_field_name', $coupons);
  }

}