Добавление поля комментария к заказу в WooCommerce

В WooCommerce стандартная форма оформления заказа включает базовые поля, необходимые для доставки и оплаты. Однако иногда возникает необходимость добавить дополнительные поля, например, поле для комментария к заказу. Это полезно, если вы хотите получать от клиентов дополнительные инструкции или пожелания к заказу.

Почему важно добавить поле комментария к заказу

Дополнительное поле для комментария помогает улучшить коммуникацию с клиентами. Вы сможете получать важную информацию, которую не всегда удобно передавать по телефону или в письмах. Например, клиент может указать особые требования к упаковке, время доставки или дополнительные пожелания.

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

Добавление пользовательского поля комментария в форму заказа WooCommerce

Для добавления нового поля в форму оформления заказа используйте хук woocommerce_checkout_fields. В нашем случае мы добавим поле textarea для комментария с названием wporders_order_comment.

add_filter('woocommerce_checkout_fields', 'wporders_add_order_comment_field');
function wporders_add_order_comment_field($fields) {
    $fields['order']['wporders_order_comment'] = array(
        'type'        => 'textarea',
        'label'       => __('Комментарий к заказу', 'woocommerce'),
        'placeholder' => __('Введите ваши пожелания к заказу', 'woocommerce'),
        'required'    => false,
        'class'       => array('form-row-wide'),
        'priority'    => 120,
    );
    return $fields;
}

Этот код добавит новое поле в секцию заказа под стандартными полями. Параметр priority определяет порядок вывода поля.

Сохранение значения пользовательского поля в метаданные заказа

Чтобы сохранить введенный комментарий, нужно использовать хук woocommerce_checkout_update_order_meta. Это позволит сохранить данные в метах заказа и потом отображать их в админке и в письмах.

add_action('woocommerce_checkout_update_order_meta', 'wporders_save_order_comment_field');
function wporders_save_order_comment_field($order_id) {
    if (!empty($_POST['wporders_order_comment'])) {
        update_post_meta($order_id, '_wporders_order_comment', sanitize_textarea_field($_POST['wporders_order_comment']));
    }
}

Отображение комментария в админке WooCommerce

Чтобы видеть комментарии клиентов при просмотре заказа в админке, добавим вывод мета-поля в блок информации о заказе. Для этого используем хук woocommerce_admin_order_data_after_billing_address.

add_action('woocommerce_admin_order_data_after_billing_address', 'wporders_display_order_comment_admin', 10, 1);
function wporders_display_order_comment_admin($order) {
    $comment = get_post_meta($order->get_id(), '_wporders_order_comment', true);
    if ($comment) {
        echo '<p><strong>Комментарий к заказу:</strong> ' . esc_html($comment) . '</p>';
    }
}

Вывод комментария в письмах с заказом

Для отображения комментария в email уведомлениях подключимся к фильтру woocommerce_email_order_meta_fields. Это позволит добавить поле в таблицу с мета-данными заказа.

add_filter('woocommerce_email_order_meta_fields', 'wporders_add_order_comment_to_email', 10, 3);
function wporders_add_order_comment_to_email($fields, $sent_to_admin, $order) {
    $comment = get_post_meta($order->get_id(), '_wporders_order_comment', true);
    if ($comment) {
        $fields['wporders_order_comment'] = array(
            'label' => __('Комментарий к заказу'),
            'value' => $comment,
        );
    }
    return $fields;
}

Дополнительные рекомендации и плагины для расширения функциональности

Если вы хотите более гибко управлять дополнительными полями, можно использовать плагины, такие как Clearfy Pro, который расширяет возможности WooCommerce по настройке полей и оптимизации оформления заказа.

Также полезен плагин WPRemark для улучшения работы с отзывами и комментариями, что может быть полезно при обработке заказов.

Тестирование и отладка

После добавления кода обязательно проверьте, что поле корректно выводится на странице оформления заказа. Попробуйте оформить тестовый заказ с комментариями, убедитесь, что данные сохраняются и отображаются в админке и в письмах.

Если поле не отображается, проверьте, нет ли конфликтов с активными темами или плагинами. Для отладки используйте режим WP_DEBUG и инструменты разработчика браузера.

Итог

Добавление поля комментария к заказу — простой способ улучшить сбор информации от клиентов и повысить удобство работы с заказами в WooCommerce. Используйте предложенный код, чтобы быстро внедрить эту функциональность на вашем сайте wporders.ru и получать больше полезных данных с каждого заказа.

Автоматизация управления заказами в WooCommerce с помощью hooks и фильтров
18.11.2025
Оптимизация заказов в WordPress WooCommerce: практические советы и примеры кода
01.11.2025
Как создать собственный тип записей в WordPress: практическое руководство
04.12.2025
Как сделать автоматическое сохранение заказов в WordPress без WooCommerce
23.01.2026
Создание автоматических уведомлений о статусах заказов WooCommerce
24.12.2025