在WooCommerce新帐户电子邮件通知中显示客户电话
问题描述:
如何在新帐户注册电子邮件中显示电话号码?在WooCommerce新帐户电子邮件通知中显示客户电话
我有添加电话号码字段,如:
<p class="form-row form-row-wide"> <label for="reg_billing_phone">Phone <span class="required">*</span></label> <input type="text" class="input-text" name="billing_phone" id="reg_billing_phone" value=""></p>
客户新帐户的电子邮件模板代码是(这里我想显示的号码电话):
<?php
/**
* Customer new account email
*
* This template can be overridden by copying it to yourtheme/woocommerce/emails/customer-new-account.php.
*
* HOWEVER, on occasion WooCommerce will need to update template files and you
* (the theme developer) will need to copy the new files to your theme to
* maintain compatibility. We try to do this as little as possible, but it does
* happen. When this occurs the version of the template file will be bumped and
* the readme will list any important changes.
*
* @see https://docs.woocommerce.com/document/template-structure/
* @author WooThemes
* @package WooCommerce/Templates/Emails
* @version 1.6.4
*/
if (! defined('ABSPATH')) {
exit; // Exit if accessed directly
}
?>
<?php do_action('woocommerce_email_header', $email_heading, $email); ?>
<p><?php printf(__('Thanks for creating an account on %1$s. Your username is %2$s', 'woocommerce'), esc_html($blogname), '<strong>' . esc_html($user_login) . '</strong>'); ?></p>
<?php if ('yes' === get_option('woocommerce_registration_generate_password') && $password_generated) : ?>
<p><?php printf(__('Your password has been automatically generated: %s', 'woocommerce'), '<strong>' . esc_html($user_pass) . '</strong>'); ?></p>
<p>Phone No:<?php echo get_user_meta($customer_id, 'billing_phone', true) ?></p>
<?php endif; ?>
<p><?php printf(__('You can access your account area to view your orders and change your password here: %s.', 'woocommerce'), make_clickable(esc_url(wc_get_page_permalink('myaccount')))); ?></p>
<?php do_action('woocommerce_email_footer', $email);
答
,因为你需要$用户ID,并在模板中获得$ user_login(用户登录名),您可以使用get_user_by()
Wordpress功能:
// Get the user object (from the user login)
$user = get_user_by('login', $user_login);
// Get the user ID
$user_id = $user->ID;
现在的用户计费电话,你可以使用WordPress的函数[get_user_meta()][2]
这样:
// Get the user billing phone:
$user_phone = get_user_meta($user_id, 'billing_phone', true);
现在你可以在你的模板中使用此代码:
<?php
if (! defined('ABSPATH')) {
exit; // Exit if accessed directly
}
?>
<?php do_action('woocommerce_email_header', $email_heading, $email);
$user = get_user_by('login', $user_login); // Get the user object (from the user login)
$user_id = $user->ID; // Get the user ID
$user_phone = get_user_meta($user_id, 'billing_phone', true); // User phone
?>
<p><?php printf(__('Thanks for creating an account on %1$s. Your username is %2$s', 'woocommerce'), esc_html($blogname), '<strong>' . esc_html($user_login) . '</strong>'); ?></p>
<?php
// Display the user phone
echo '<p>'.__("Your registered user phone is: ", "woocommerce").$user_phone.'</p>';
if ('yes' === get_option('woocommerce_registration_generate_password') && $password_generated) : ?>
<p><?php printf(__('Your password has been automatically generated: %s', 'woocommerce'), '<strong>' . esc_html($user_pass) . '</strong>'); ?></p>
<p>Phone No:<?php echo get_user_meta($customer_id, 'billing_phone', true) ?></p>
<?php endif; ?>
<p><?php printf(__('You can access your account area to view your orders and change your password here: %s.', 'woocommerce'), make_clickable(esc_url(wc_get_page_permalink('myaccount')))); ?></p>
非常感谢您@LoicTheAztec您的代码为我工作 –
嗨,我试图使用相同的代码来获得邮件模板中的自定义用户字段,但即时消息在邮件中获得空白值。您可以帮我 –
@NishaSharma要在电子邮件模板中获取用户ID,您将使用以这种方式到处定义的'$ order'对象变量: '$ user_id = $ order-> get_customer_id();'或' $ user_id = $ order-> get_user_id();' – LoicTheAztec