Отображать пользовательский текст на основе категории продукта в электронной почте WooCommerce - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь отобразить некоторый «условный» пользовательский текст в электронном письме «Заказ выполнен», который отправляется клиентам, когда заказ помечается как выполненный.Я использовал следующий код .

Теперь я хочу сделать этот код условным, поэтому этот код должен быть активным только для продуктов категории "Подарочные".Я не смог найти подходящих функций Woocommerce для этой конкретной функции.

Любая помощь будет оценена.

Вот что у меня сейчас:

add_action( 'woocommerce_email_before_order_table', 
'bbloomer_add_content_specific_email', 20, 4 );

function bbloomer_add_content_specific_email( $order, $sent_to_admin, $plain_text, $email ) {
    if ( $email->id == 'customer_completed_order' ) {
        echo '<p class="email-text-conditional">Thank you for your order with Adventure Clues, we have sent your recipient the gift card’</p>';
    }
}

1 Ответ

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

Попробуйте следующее:

add_action( 'woocommerce_email_before_order_table', 'email_before_order_table_conditional_display', 20, 4 );
function email_before_order_table_conditional_display( $order, $sent_to_admin, $plain_text, $email ) {
    // Only for "commpeted" order status notification
    if ( 'customer_completed_order' !== $email->id ) return;

    foreach( $order->get_items() as $item ){
        if( has_term( "Gifts", "product_cat", $item->get_product_id() ) ){
            echo '<p class="email-text-conditional">Thank you for your order with Adventure Clues, we have sent your recipient the gift card.</p>';
            break;
        }
        if( has_term( "Clothes", "product_cat", $item->get_product_id() ) ){
            echo '<p class="email-text-conditional">Thank you for your order with Adventure Clues, we are managing your Clothes.</p>';
            break;
        }
    }
}

Код находится в файле function.php вашей активной дочерней темы (или активной темы).Проверено и работает.

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