Как изменить placeholder в виджете поиска WordPress Woocommerce?

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

В виджете поиска по атрибуту с выпадающем меню placeholder подставился с неправильным склонением.

Как изменить placeholder в виджете поиска Wordpress Woocommerce?

Как изменить содержимое плэйсхолдера?

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

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

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

Заказать помощь
Лучший ответ
1
Алексей Денисов Ответ

Сначала нужно понять, какой именно виджет выводит этот placeholder. В WooCommerce есть обычный поиск товаров, фильтры по атрибутам, Select2-поля и виджеты темы/плагинов. Универсального фильтра для всех placeholder нет.

Если это стандартный product search, текст можно поменять через фильтр формы поиска:

add_filter('get_product_search_form', function ($form) {
    return str_replace(
        'placeholder="Поиск товаров…"',
        'placeholder="Нужный текст"',
        $form
    );
});

add_filter('get_product_search_form', function ($form) { return str_replace( 'placeholder="Поиск товаров…"', 'placeholder="Нужный текст"', $form ); });

Если это переводимая строка из WooCommerce или темы, лучше заменить её через gettext точечно:

add_filter('gettext', function ($translated, $text, $domain) {
    if ($domain === 'woocommerce' && $text === 'Any %s') {
        return 'Любой вариант';
    }
 
    return $translated;
}, 10, 3);

add_filter('gettext', function ($translated, $text, $domain) { if ($domain === 'woocommerce' && $text === 'Any %s') { return 'Любой вариант'; } return $translated; }, 10, 3);

Если placeholder создаёт JS-плагин Select2, PHP-фильтр может не помочь: текст генерируется в JavaScript. Тогда ищите строку в исходном HTML/JS через инспектор браузера и меняйте настройку виджета, перевод строки в Loco Translate или инициализацию Select2.

Быстрый путь: откройте код элемента в браузере, найдите точный текст placeholder и домен перевода. После этого станет понятно, менять перевод, PHP-фильтр или JS-настройку.

Перед внедрением на рабочем сайте проверьте решение на копии или хотя бы сделайте резервную копию изменяемого файла. После правки включите отображение ошибок, откройте проблемную страницу в обычном и приватном окне, проверьте консоль браузера и логи PHP. Если задача связана с WordPress, WooCommerce или ACF, дополнительно проверьте поведение после очистки кэша и после выхода из админки: часть ошибок видна только для незалогиненного пользователя.

Если код работает только в одном шаблоне, лучше не оставлять его разрозненно в нескольких файлах. Вынесите повторяемую логику в функцию, небольшой плагин или template part, а в шаблоне оставьте только вызов. Так проще поддерживать решение после обновления темы, плагинов и PHP.

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

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

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

комментарий

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

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