2017-11-11 202 views
0

如何在新帳戶註冊電子郵件中顯示電話號碼?在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); 

回答

0

,因爲你需要$用戶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> 
+0

非常感謝您@LoicTheAztec您的代碼爲我工作 –

+0

嗨,我試圖使用相同的代碼來獲得郵件模板中的自定義用戶字段,但即時消息在郵件中獲得空白值。您可以幫我 –

+0

@NishaSharma要在電子郵件模板中獲取用戶ID,您將使用以這種方式到處定義的'$ order'對象變量: '$ user_id = $ order-> get_customer_id();'或' $ user_id = $ order-> get_user_id();' – LoicTheAztec

相關問題