我在网上寻找解决方案来添加我正在使用的支付网关的响应。
我想添加我获得的验证码和更多数据。付款完成后我需要添加此内容。
// 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 操作钩子(Hook):
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');
}
关于php - 在 WooCommerce 中确认付款后添加自定义元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48262726/