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

Posted

技术标签:

【中文标题】在 WooCommerce 中确认付款后添加自定义元数据【英文标题】:Add custom meta data after Payment confirmation in WooCommerce 【发布时间】:2018-06-24 01:38:30 【问题描述】:

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

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

// 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');
    

任何帮助将不胜感激

【问题讨论】:

【参考方案1】:

您最好以这种方式使用专用的 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 文件中。

这应该可行。


对于插件,您需要先在 __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');

【讨论】:

谢谢 它不在主题中,它必须在插件中。 @DaniEvanRubenstien 对于一个插件,它并没有太大的变化……看我的更新……

以上是关于在 WooCommerce 中确认付款后添加自定义元数据的主要内容,如果未能解决你的问题,请参考以下文章

在 Woocommerce 中为特定支付网关添加自定义费用

根据所选付款方式显示隐藏自定义 Woocommerce 结帐字段

WooCommerce 中的自定义付款方式

Woocommerce 自定义注销无需确认

在 WooCommerce 中禁用基于自定义运输方式的付款方式

如何在 WooCommerce 编辑订单中计算自定义订单总额?