【问题标题】:Get the User ID on Woocommerce order email notifications [duplicate]在 Woocommerce 订单电子邮件通知中获取用户 ID [重复]
【发布时间】: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

标签: php wordpress woocommerce orders email-notifications


【解决方案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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-04
    • 2019-01-12
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2018-06-07
    • 2019-02-23
    • 1970-01-01
    相关资源
    最近更新 更多