Статьи

Добавление примечаний к заказу WooCommerce в заполненное электронное письмо

Нет ничего лучше, чем иметь информацию о сделанном вами заказе относительно его статуса или любые другие данные, которые могут оказаться полезными для вашего заказа. По умолчанию WooCommerce хранит каждое действие, связанное с заказом, в базе данных. Эта серия действий доступна в администрировании, на боковой панели при редактировании заказа. Но у ваших клиентов нет доступа к этому списку действий. Хорошей новостью является то, что вы можете легко добавить его в любое электронное письмо, отправленное WooCommerce. В этом посте я покажу вам, как добавить в примечания к заказу полное электронное письмо (это письмо, отправленное, когда статус заказа помечен как завершенный). Но вы можете использовать этот метод для добавления заметок к заказу и в любые другие электронные письма.

Пользовательские шаблоны или хуки?

Напоминаем: все электронные письма в WooCommerce предоставляются с использованием шаблонов, и вы можете переопределить шаблоны по умолчанию, создав свои собственные шаблоны. В основном настраиваемый шаблон позволяет вам переопределить файлы WooCommerce по умолчанию и использовать вместо них свои собственные файлы. Вот краткое руководство, которое объяснит вам, как создавать собственные шаблоны: http://docs.woothemes.com/document/template-structure/.

Вы можете добавлять примечания к заказу в пользовательские шаблоны, но я хотел бы показать вам другой способ сделать это с помощью крючка. Идея состоит в том, чтобы не использовать пользовательские шаблоны, а использовать файл functions.php только в папке вашей темы.

Примечания к заказу – это комментарии WordPress

Примечания к заказу – это комментарии WordPress, имеющие определенный тип «order_note», поэтому вы можете использовать класс WordPress WP_Query, применяемый к комментариям с помощью функции get_comments().

Хук, который нам нужно использовать, – это действие под названием «woocommerce_email_order_meta». Идея состоит в том, чтобы вызвать пользовательскую функцию, когда это действие загружается в процессе WooCommerce.

Использование get_comments () упрощает способ получения примечаний к заказу, нам просто нужно убедиться, что мы хотим перечислить комментарии, связанные с определенным заказом, используя идентификатор сообщения и атрибут комментария «одобрить», что означает, что комментарий проверяется (в данном случае WooCommerce).

Код

Вот код, который нужно разместить в файле functions.php в папке вашей темы:

add_action( 'woocommerce_email_order_meta', 'woo_add_order_notes_to_email' );
function woo_add_order_notes_to_email() {
    global $woocommerce, $post;
    $args = array(
        'post_id'     => $post->ID,
        'approve'     => 'approve',
        'type'        => 'order_note'
    );
    $notes = get_comments( $args );
    echo '<h2>'. __( 'Order Notes', 'woocommerce' ). '</h2>';
    echo '<ul class="order_notes">';
    if ($notes) {
        foreach( $notes as $note) {
            $note_classes = get_comment_meta( $note->comment_ID, 'is_customer_note', true )? array( 'customer-note', 'note' ): array( 'note' );
            ?>
            <li rel="comment_ID) ; ?>" class="">
                <div class="note_content">
                    comment_content) ) ); ?>
                </div>
                <p class="meta">
                    comment_date_gmt ), current_time( 'timestamp', 1) ) ); ?>
                </p>
            </li>
            <?php
        }
    } else {
        echo '<li>'. __( 'There are no notes for this order yet.', 'woocommerce' ). '</li>';
    }
    echo '</ul>';
}

Как видите, этот код довольно прост, в нем нет ничего сложного, поэтому вы можете легко его настроить. Обратите внимание на использование некоторых хороших функций, таких как human_time_diff (), wptexturize () или wp_kses_post ().

Что ж, надеюсь, вам понравился этот пост, пожалуйста, оставьте комментарий в форме ниже, я бы хотел получить ваш отзыв об этом!

Кнопка «Наверх»