Как изменить текст вукомерс при предложении войти в личный аккаунт на сайте (скрин прикрепляю)?

Ссылка скопирована
1 ответ

Как изменить текст вукомерс при предложении войти в личный аккаунт на сайте (скрин прикрепляю)?

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

и добавить текст с кнопкой который будет отображаться так:
Хочешь зарегестрироваться в нашей системе лояльности и получить 200 бонусных баллов уже на этот заказ? "кнопка - link"

Дополнительно:

Ответы:

Все фразы на не английском - это переводы. Соответственно изменять их можно в переводах.
Loco Translate в руки и.. кастомное расположение лангпака (Индивидуальный в loco)

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Никита Орлов Ответ

Текст “Если вы уже оформляли заказ...” на checkout WooCommerce обычно относится к блоку авторизации returning customer. Его можно изменить через фильтр переводов gettext или переопределение шаблона, но лучше сначала понять, откуда именно строка выводится.

Если это стандартная строка WooCommerce, можно заменить её так:

add_filter('gettext', function ($translated, $text, $domain) {
    if ($domain !== 'woocommerce') {
        return $translated;
    }
 
    if ($text === 'Returning customer?') {
        return 'Если вы уже оформляли заказ на нашем сайте';
    }
 
    return $translated;
}, 10, 3);

add_filter('gettext', function ($translated, $text, $domain) { if ($domain !== 'woocommerce') { return $translated; } if ($text === 'Returning customer?') { return 'Если вы уже оформляли заказ на нашем сайте'; } return $translated; }, 10, 3);

Но длинный текст лучше не пихать в короткую строку. Для блока login notice есть фильтры WooCommerce:

add_filter('woocommerce_checkout_login_message', function () {
    return 'Если вы уже оформляли заказ на нашем сайте, пожалуйста, войдите в аккаунт, чтобы воспользоваться бонусными баллами из системы лояльности.';
});

add_filter('woocommerce_checkout_login_message', function () { return 'Если вы уже оформляли заказ на нашем сайте, пожалуйста, войдите в аккаунт, чтобы воспользоваться бонусными баллами из системы лояльности.'; });

Если нужно изменить текст для новых клиентов, смотрите шаблон checkout или hooks вокруг формы. Иногда нужная фраза находится в form-login.php или form-billing.php.

Переопределять шаблон WooCommerce стоит только если фильтра не хватает. Файл копируется в дочернюю тему:

your-child-theme/woocommerce/checkout/form-login.php

your-child-theme/woocommerce/checkout/form-login.php

После переопределения следите за обновлениями WooCommerce: устаревшие шаблоны могут ломать checkout.

Если текст зависит от плагина бонусов/loyalty, он может иметь свои настройки. Проверьте настройки этого плагина перед кодом.

Итог: для стандартного блока используйте woocommerce_checkout_login_message. Если строка другая — найдите её через поиск по плагинам/теме или временно используйте gettext, но не правьте файлы WooCommerce core.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно