Создание дополнительных переменных / заполнителей для темы электронных уведомлений Woocommerce - PullRequest
0 голосов
/ 01 мая 2018

При активации новых уведомлений по электронной почте из статусов пользовательских заказов у ​​меня есть следующие опции для Тематических заполнителей:

"Вы можете использовать следующие заполнители: {order_date}, {order_number}, {order_status}, {billing_first_name}, {billing_last_name}, {billing_company}, {blogname}, {site_title}"

Есть ли способ создания новых заполнителей для других полей? По сути, я создал новое скрытое поле с именем test_pw, и я хочу иметь возможность добавлять {billing_email} и {test_pw} в мои собственные электронные письма.

Я пытался использовать этот код, но я не уверен, как его отформатировать.

// Only for woocommerce versions 3.2 + (up to 3.2)
add_filter( 'woocommerce_email_format_string' , 'filter_email_format_string', 20, 2 );
function filter_email_format_string( $string, $email ) {
// Get the instance of the WC_Order object
$order = $email->object;

// Additional wanted placeholders in the array of find / relace pairs
$additional_placeholders = array(
    '{custom_one}'      => __('my replacement one','woocommerce'),
    '{billing_email}'   => $order->get_billing_email(),
    '{test_pw}'   => $order->get_test_pw(),
);

// return the clean string with new replacements
return str_replace( array_keys( $additional_placeholders ), array_values( $additional_placeholders ), $string );
}

1 Ответ

0 голосов
/ 01 мая 2018

Вот пример, который покажет вам, как добавить новые заполнители для уведомлений по электронной почте Тема:

// Only for woocommerce versions 3.2 + (up to 3.2)
add_filter( 'woocommerce_email_format_string' , 'filter_email_format_string', 20, 2 );
function filter_email_format_string( $string, $email ) {
    // Get the instance of the WC_Order object
    $order = $email->object;

    // Additional wanted placeholders in the array of find / relace pairs
    $additional_placeholders = array(
        '{custom_one}'      => __('my replacement one','woocommerce'),
        '{shipping_city}'   => $order->get_shipping_city(),
        '{yudu_pw}'         => $order->get_meta( 'yudu_pw' ), // <=== HERE
    );

    // return the clean string with new replacements
    return str_replace( array_keys( $additional_placeholders ), array_values( $additional_placeholders ), $string );
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Протестирован и работает только для Woocommerce версии 3.2 и выше…

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...