Отобразить адрес доставки 2 в тексте почтовых уведомлений WooCommerce - PullRequest
1 голос
/ 09 апреля 2019

В поле проверки WooCommerce shipping_address_2 я установил пользовательский купон на скидку. Мне нужно получить это значение поля заказа в специальном уведомлении по электронной почте.

Вот моя попытка кода:

add_action( 'woocommerce_email_before_order_table', 'add_content_to_specific_email', 20, 4 );
function add_content_to_specific_email( $order, $sent_to_admin, $plain_text, $email ) {
    if ( $email->id == 'customer_processing_order' ) {
        echo '<h2 class="email-upsell-title">Get 20% off</h2><p class="email-upsell-p">Thank you for making this purchase! Come back and use the code "<strong>  get_post_meta( $order_id, '_shipping_address_2', true ) </strong>" to receive a 20% discount on your next purchase! Click here to continue shopping.</p>';
    }
}

Это не работает. Что я хочу, чтобы преобразовать значение этого поля в строку между <strong> HTML-тегами.

Ваша помощь приветствуется.

1 Ответ

1 голос
/ 09 апреля 2019

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

echo '<h2 class="email-upsell-title">Get 20% off</h2><p class="email-upsell-p">Thank you for making this purchase! Come back and use the code "<strong>' .  get_post_meta( $order->ger_id(), '_shipping_address_2', true ) . '</strong>" to receive a 20% discount on your next purchase! Click here to continue shopping.</p>';

Но лучше использовать метод WC_Order get_shipping_address_2().

Вот ваш повторный код:

add_action( 'woocommerce_email_before_order_table', 'add_content_to_specific_email', 20, 4 );
function add_content_to_specific_email( $order, $sent_to_admin, $plain_text, $email ) {
    // For customer processing and completed orders notifications
    if ( in_array($email->id, ['customer_processing_order', 'customer_completed_order']) ) {
        if( $coupon_code = $order->get_shipping_address_2() ) {
            echo '<h2 class="email-upsell-title">'.__("Get 20% off").'</h2>
            <p class="email-upsell-p">';
            printf(
                __("Thank you for making this purchase! Come back and use the code %s to receive a 20%% discount on your next purchase! %s."),
                '"<strong>'.$coupon_code.'</strong>"',
                '<a href="'. get_permalink( wc_get_page_id( 'shop' ) ) .'">' . __("Click here to continue shopping") . '</a>'
            );
            echo '</p>';
        }
    }
}

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

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