Вопрос или проблема
Да, я видел некоторые ответы на разные вопросы, но они не подошли к моей ситуации.
В моей теме включен тег заголовка.
Заголовок в функции wp_get_document_title() отличается от реального заголовка на моей странице поиска, который выглядит как “Вы искали %search% – %site_name%”.
Мне нужно перевести заголовок, ничего больше. Я искал You Searched в functions_php и в каждом другом .php файле в woocommerce, связанном с продуктами или поиском, и не смог его найти.
Я буду признателен за любую помощь. Спасибо !
В моем случае эта проблема была вызвана плагином WordPress – Yoast Seo.
Посмотрите вашу базу данных mySql, таблицу wp_options и найдите option_name = wpseo_titles.
В поле “option_value” вы можете найти строку “You Searched for” и заменить ее, например, на “Deine Suche nach”.
Woocommerce и многие темы предоставляют хуки фильтров для изменения различных частей страницы, включая тег заголовка.
Вы можете создать пользовательскую функцию для изменения заголовка документа, используя хук фильтра document_title_parts
.
function custom_search_page_title($title_parts) {
if (is_search()) {
$title_parts['title'] = sprintf(__('Вы искали %s - %s', 'ваш-текстовый-домен'), get_search_query(), get_bloginfo('name'));
}
return $title_parts;
}
add_filter('document_title_parts', 'custom_search_page_title');
Замените ваш-текстовый-домен
на текстовый домен вашей темы или плагина.
Для перевода заголовка вы можете использовать функции перевода, такие как __()
, esc_html__()
или sprintf()
, если вам нужно вставить динамическое содержимое, например, запрос поиска.
Ответ или решение
Для изменения заголовка страницы поиска продуктов в WordPress с использованием WooCommerce, вы можете воспользоваться хуками фильтра, которые предоставляют WooCommerce и многие темы для изменения различных частей страницы, включая тег заголовка.
Проблема:
Вы заметили, что заголовок, возвращаемый функцией wp_get_document_title()
, отличается от реального заголовка на вашей странице поиска, которая отображает "You Searched For %search% – %site_name%". Вам необходимо перевести данный заголовок.
Решение:
Для изменения и перевода заголовка страницы поиска, вам следует добавить пользовательскую функцию, используя хук фильтра document_title_parts
. Это можно сделать, добавив следующий код в файл functions.php
вашей темы или в ваш плагин:
function custom_search_page_title($title_parts) {
if (is_search()) {
$title_parts['title'] = sprintf(__('Вы искали %s - %s', 'your-text-domain'), get_search_query(), get_bloginfo('name'));
}
return $title_parts;
}
add_filter('document_title_parts', 'custom_search_page_title');
Объяснение:
- Проверка на страницу поиска: Функция
is_search()
проверяет, находится ли пользователь на странице поиска. - Изменение заголовка: С помощью
sprintf()
мы формируем новый заголовок, в который вставляется поисковый запрос (получаемый с помощьюget_search_query()
) и название вашего сайта (получаемое с помощьюget_bloginfo('name')
). - Локализация: Используется функция
__()
, чтобы сделать заголовок доступным для перевода. Замените'your-text-domain'
на текстовый домен вашей темы или плагина, чтобы обеспечить совместимость с системой перевода WordPress.
Дополнительно:
Если причина проблемы связана с плагином Yoast SEO, вы можете проверить вашу базу данных MySQL, в частности, таблицу wp_options
, на наличие записи с option_name = wpseo_titles
. В поле option_value
вы можете найти строку "You Searched For" и заменить её на требуемую вам локализацию, например, "Вы искали".
Заключение:
После добавления и сохранения кода, заголовок на вашей странице поиска будет изменен и переведен согласно вашим требованиям. Убедитесь, что вы сохранили изменения и протестировали функциональность на своем сайте. Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью.