Добавьте адрес электронной почты клиента в уведомление по электронной почте о новой учетной записи в WooCommerce
Я пытаюсь вставить адрес электронной почты клиента в электронное письмо с новым аккаунтом.
До сих пор я пытался использовать $user_email
вместо $user_login
а также $order->billing_email
в крючке, но он показывает пустое пространство каждый раз.
1 ответ
Решение
Обновлено: вы можете использовать пользовательскую функцию, подключенную woocommerce_email_header
Хук действия:
add_action( 'woocommerce_email_header', 'add_customer_billing_email', 20, 2 );
function add_customer_billing_email( $email_heading, $email )
{
// Only for "Customer new account" email notifications
if( $email->id != 'customer_new_account' ) return;
// Get user billing email
global $user_login;
$user = get_user_by('login', $user_login );
$email = $user->billing_email;
// HTML Output
echo '<p>'.__('Billing email').': <a href="mailto:'.$email.'">'.$email.'</a></p>';
}
Код помещается в файл function.php вашей активной дочерней темы (или темы) или также в любой файл плагина.
Проверено и работает.
Или вы можете вставить в шаблон emails/customer-new-account.php
следующий код в расположении по вашему выбору:
<?php
// Get user billing email
$user = get_user_by('login', $user_login );
$email = $user->billing_email;
// HTML Output
echo '<p>'.__('Billing email').': <a href="mailto:'.$email.'">'.$email.'</a></p>';
?>
Проверено и работает.
Официальная документация: переопределение шаблонов WooCommerce через тему