我在WooCommerce中有一个官方付款插件(Transbank of Chile)但这个插件直接在“thankyou”页面打印transaction_id
。我做了这个事务并添加到数据库。
问题是,当WooCommerce发送“新订单”邮件时,transaction_id
永远不会显示。我认为在收到transaction_id
号码之前邮件已经发送过了。我想知道,当WooCommerce发送新的订单邮件时?
答案 0 :(得分:0)
您可以使用woocommerce_email_after_order_table
挂钩将自定义数据添加到电子邮件中。
/**
*
* @param instance $order
* @param bool $sent_to_admin TRUE for admin
*/
function wh_addTransactionIdOrderEmail($order, $sent_to_admin)
{
$order_id = method_exists($order, 'get_id') ? $order->get_id() : $order->id;
$transaction_id = get_post_meta($order_id, "_transaction_id ", true); //<-- replace it with your metakey
if(empty($transaction_id)) //if blank i.e for Failed/Cancelled order then do not add transaction ID
return;
echo '<p></p><p><strong>Transaction ID:</strong> ' . $transaction_id . '</p>';
}
add_action('woocommerce_email_after_order_table', 'wh_addTransactionIdOrderEmail', 10, 2);
代码进入您的活动子主题(或主题)的functions.php
文件。或者也可以在任何插件php文件中。
代码已经过测试并且有效。
希望这有帮助!