Добавьте адрес электронной почты клиента в уведомление по электронной почте о новой учетной записи в 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 через тему

Другие вопросы по тегам