在 Woocommerce 订单电子邮件通知中获取用户 ID [重复]
Posted
技术标签:
【中文标题】在 Woocommerce 订单电子邮件通知中获取用户 ID [重复]【英文标题】:Get the User ID on Woocommerce order email notifications [duplicate] 【发布时间】:2019-07-23 01:30:39 【问题描述】:您好,我想将 User_ID 添加到 WooCommerce 订单确认电子邮件中。 我希望我的客户能够在下订单后收到的电子邮件中看到他们自己的 USER ID 号。
但是我当前的代码有问题。
这是我当前的代码:
<?php global $current_user;
get_currentuserinfo();
echo 'Your membership number: ' . $current_user->ID . "\n";
?>
但问题在于,这并不特定于实际订单的用户 ID。此用户 ID 获取登录用户的 ID,而不是下订单用户的用户 ID。
它可能应该包含类似这样的东西?!:
$order->get_user_id()
我不知道如何更改我当前的代码。
请问有人可以修改我当前的代码吗?
【问题讨论】:
要在订单表之前显示用户 ID,请使用:woocommerce_email_before_order_table
而不是 woocommerce_email_after_order_table
【参考方案1】:
add_action( 'woocommerce_email_before_order_table', 'add_order_email_instructions', 10, 2 );
function add_order_email_instructions( $order, $sent_to_admin )
echo '<h2>USER ID: '.$order->get_user_id().'</h2>';
【讨论】:
我试过了,好像没用。我希望它会出现在电子邮件模板“email-order-details.php”中,并出现在带有订单详细信息的表格上方 请发送你想要的截图【参考方案2】:试试看:
在 WooCommerce 2.5 中,以这种方式使用 get_post_meta() 函数:
$user_id = get_post_meta($order_id, '_customer_user', true);
在 WooCommerce 3.0+ 中,您可以通过这种方式使用 WC_Order 类方法:
// Get the user ID from WC_Order methods
$user_id = $order->get_user_id(); // or $order->get_customer_id();
【讨论】:
以上是关于在 Woocommerce 订单电子邮件通知中获取用户 ID [重复]的主要内容,如果未能解决你的问题,请参考以下文章
当订单中有缺货商品时,在 WooCommerce 电子邮件通知中显示消息
在Woocommerce电子邮件通知中显示自定义订单状态的付款链接
在 WooCommerce 电子邮件通知的订单详细信息表中隐藏自定义费用行
在 Woocommerce 购物车、结帐页面、订单和电子邮件通知中的产品标题上方显示品牌名称