Текст на странице заказа и в корзине WooCommerce
Работаю сейчас над одним WordPress магазином и достаточно активно изучаю плагин WooCommerce. В данном модуле очень много разных нюансов и дополнений, например, Mix/Max заказ, бесплатная доставка или Ajax обновление корзины. Время от времени буду рассказывать о них в постах блога, дабы и вам было полезно почитать, и самому не забыть.
Сегодня хочу поговорить о странице оформления заказа. Как правило, там размещается специальная форма, где покупатель вводит информацию о себе, адресе доставки и т.п. А когда речь идет о формах, то обычно перед ними разработчики размещают какое-то сообщение в стиле «напишите нам, мы с вами свяжемся», «такие-то поля обязательны для заполнения» и т.д. Например:
Но как добавить данный текст перед формой? Редактировать PHP файлы плагина WooCommerce решение не совсем корректное. Тут есть 3 подхода:
Текст на самой странице оформления заказа
Учитывая то, что физически форма оформления заказа находится на обычной WordPress странице, то вы можете просто добавить туда нужный текст. Размещаете его перед шорткодом [woocommerce_checkout].
Это, определенно, самый простой вариант. Однако тут есть небольшая проблема — после успешного заказа на странице отображается краткая информация о нем. А надпись «заполните форму ниже» никуда не девается. Все это смотрится не особо красиво.
Как вариант выделяете информацию о заказе более заметно (жирным текстом, большим шрифтом, фоновой подложкой, рамкой) дабы остальной текст на странице воспринимался как ее базовое оформление. Либо можно добавить к тексту определенный класс, а через стили его скрыть после совершения пользователем заказа.
Хак в functions.php
В плагине достаточно много разных хуков и функций, позволяющих вносить правки в работу модуля без редактирования кода, например хак для меню личного кабинета WooCommerce. Еще одно решение задачи с добавлением текста на страницу оформления заказа было найдено на github. Я использовал следующий код, добавив его в файл functions.php:
add_action( 'woocommerce_before_checkout_form', 'skyverge_add_checkout_content', 12 ); function skyverge_add_checkout_content() { echo '<p style="text-align: justify;"><em>Заполните форму ниже, поля <abbr class="required">*</abbr> обязательные.</p>'; } |
Хак выводит элемент контента после всех уведомлений (о логине, купонах). Как только пользователь отправит вам заказ, данное сообщение будет скрыто. По сути, оно отображается только на этапе захода на страницу до совершения покупки.
По ссылке выше на github на самом деле есть сразу несколько «приемчиков». Функции:
add_action( 'woocommerce_before_checkout_form', 'skyverge_add_checkout_success', 9 ); function skyverge_add_checkout_success() { wc_print_notice( __( 'A success message with high priority.', 'woocommerce' ), 'success' ); } add_action( 'woocommerce_before_checkout_form', 'skyverge_add_checkout_notice', 11 ); function skyverge_add_checkout_notice() { wc_print_notice( __( 'A notice message instead.', 'woocommerce' ), 'notice' ); } add_action( 'woocommerce_review_order_before_payment', 'skyverge_before_paying_notice' ); function skyverge_before_paying_notice() { wc_print_notice( __( 'An error message.', 'woocommerce' ), 'error' ); } |
..добавят на страницу оформления заказа WooCommerce три сообщения:
- Элемент с «успешным действием», который будет располагаться перед другими сообщениями. Текст элемента — «A success message with high priority».
- Информационное сообщение «A notice message instead», что выводится после всех других сообщений.
- Элемент предупреждение с текстом «An error message», что отобразится перед формой оплаты.
Насколько я понимаю, вместо всех этих элементов сообщений можно без проблем выводить обычный текст через функцию echo.
YITH WooCommerce Cart Messages
Еще один способ добавление сообщения на страницу оформления заказа — использование специального плагина YITH Cart Messages от тех же разработчиков, что придумали решение для PDF счетов в Woocommerce. На момент написания статьи поддерживались версии вордпресс от 3.5.1 до 4.1.7 (я тестировал на 4.2.4). Модуль имеет более 8 тысяч загрузок и наивысшую оценку.
С помощью плагина вы сможете выводить специальные сообщения на странице оформления заказа и в корзине. Для того чтобы это сделать нужно:
- Установить модуль, скачав отсюда или сделал это через админку.
- Зайти в раздел YITH Plugins — выбрать меню Cart Messages. Там требует задать страницы на которых будет отображаться сообщение.
- Далее нужно добавить само сообщение, указав все настройки. Это делается в разделе WooCommerce — Yith Cart Messages.
В поле Message Type вы можеет выбрать 3 типа сообщения:
- Simple message — простой текст для отображения.
- «Products in cart» message — создается сообщение, если в WooCommerce корзине есть указанный товар.
- «Categories in cart» message — появляется, если в корзине есть заказы из выбранной категории.
Данная опция подходит для разных ситуаций — например, пользователь купил в вашем магазин товары категории, для которой не работает возврат — можете уведомить его через специальное сообщение; либо написать про акцию для определенного товара и т.п. Остальные параметры настройки, думаю, вам понятны. Вот как выглядит сообщение:
Вообще в премиум версии плагина имеется куда больше событий для добавления специального текста. Кроме того, поддерживаются и другие страницы для отображения, плюс есть красивые стили оформления и продвинутые настройки.
Итого. Чтобы добавить текст на страницу оформления заказа в WooCommerce я лично использовал второй вариант с хаком через functions.php. Если требуется отображение простой фразы, то этого решения более чем достаточно. Для более сложных ситуаций можно применить плагин YITH WooCommerce Cart Messages. Условия наличия в корзине определенного товара или категорий позволяют реализовывать интересные задачи.
комментариев 9 к статье “Текст на странице заказа и в корзине WooCommerce”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Як сховати відсутні товари в Woocommerce шорткодах та схожих товарах
- Сервіс AdMaven + плагін для монетизації трафіка на WordPress сайтах
- Плагіни для створення стрічки новин з біжучим рядком в WordPress
- Як змінити розміщення кнопки оформлення замовлення в WooCommerce
- Плагін WHWS Display In Stock Products First – відображення товарів в наявності першими
- Підписка MonsterONE: чи варто використовувати цей сервіс у 2023 році? (+5 продуктів, які треба скачати в першу чергу)
- Онлайн генератор ссылок на мессенджеры для WordPress и не только
- WooCommerce (46)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (246)
- Сервисы (87)
- Хаки и секреты (87)
- Шаблоны (45)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Советы по выбору холодильника LG с технологией No Frost
- Зачем нужны Wi-Fi ретрансляторы и как выбрать подходящую модель
- Введение в онлайн-казино Slotor777: многообразие игр и привлекательные бонусы
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS
TOD спасибо за полезную информацию. Не подскажите, где (в каком файле) править размер поля «имя», «фамилия», «телефон», «e-mail» на странице «Оформить заказ»? А то кривовато смотрится.
DanVi, нужно править файлы переводов через Poedit или ставить плагин Loco Translate.
Tod, мне не перевести нужно, а РАЗМЕРЫ полей изменить и местами поменять.
DanVi, с этим, к сожалению, не сталкивался, нужно гуглить.
Здравствуйте!
Нужно убрать со страницы оформления заказа внизу слово СВОЙСТВА,
подскажите пожалуйста в каком файле находится это слово именно для этой страницы?
Пробовал выводить всю копию сайта на комп, и искать через NOTEPAD всё-равно не получается, если можете подскажите пожалуйста.
Василий, могу лишь посоветовать программу WinGrep для быстрого поиска текста в файлах. К тому же в шаблоне не будет слова «Свойства», а оригинальная фраза. Лучше в таких случаях искать по стилям, прописанным в class рядом с нужным вам текстом.
Здравствуйте. После того, как клиент оформил заказ появляется сообщение, что оформление заказ невозможно, так как корзина пуста. Как изменить этот текст на «Спасибо за ваш заказ»?
Наталья, мне кажется, этот текст свидетельствует о том, что что-то в магазине работает неправильно. Сообщение ведь просто так не выводится. Хотя, может, действительно глюк. Я когда-то переводил парочку текстовых надписей в WooCommerce с помощью функции gettext — посмотрите, возможно, поможет.
А как вывести информацию (надпись) предзаказ в Woocommerce?*