在 WooCommerce 中确认付款后添加自定义元数据

Add custom meta data after Payment confirmation in WooCommerce

我在网上四处寻找添加来自我正在使用的支付网关的响应的解决方案。

我想添加我得到的验证码和更多数据。我需要在付款完成后添加它。

// Payment complete
$order->payment_complete($payment_id);

我试过这段代码,但对我不起作用:

   add_action('woocommerce_checkout_update_order_meta', 
        'my_custom_checkout_field_update_order_meta');

    function my_custom_checkout_field_update_order_meta( $order_id ) {
         update_post_meta( $order_id, 'My Field', 'test');
    }

任何帮助将不胜感激

你最好这样使用专用的 woocommerce_payment_complete 动作挂钩:

add_action('woocommerce_payment_complete', 'custom_update_order_meta', 20, 1 );
function custom_update_order_meta( $order_id ) {
     update_post_meta( $order_id, 'My Field', 'test');
}

代码进入活动子主题(或活动主题)的 function.php 文件。

这应该有效。


对于 A 插件,您需要先在 __construct() 函数中添加:

add_action('woocommerce_payment_complete', array( $this 'custom_update_order_meta'), 20, 1 );

然后是这样的:

public function custom_update_order_meta( $order_id ) {
     update_post_meta( $order_id, 'My Field', 'test');
}