Вопрос или проблема
Я искал во всех файлах WordPress фразу “результат поиска для“, которая отображается на странице результатов поиска (результат поиска для (ключевых слов)), но не смог её найти.
Я хотел бы, чтобы было: “Вы искали: (ключевые слова)”
Кто-нибудь знает, где и как это изменить?
Из текущей темы я рекомендую создать дочернюю тему, используя этот плагин https://wordpress.org/plugins/child-theme-configurator/. В коде темы вы найдёте папку с названием template-parts, которая содержит несколько php файлов, таких как search.php. Теперь вам нужно создать такую же структуру в вашей дочерней теме, папку template-parts и внутри неё файл search.php с тем же содержимым, что и в оригинале, а затем просто отредактировать текст, который вы упомянули, в этом вновь созданном файле.
Я исправил это, добавив следующий JavaScript в свою тему:
addEventListener("DOMContentLoaded", () => {
if (window.location.href.includes("?s=")) {
// Возможно, вам нужно будет отрегулировать селектор заголовка архива
// в зависимости от конкретного класса вашего заголовка, например:
// const archiveTitle = document.querySelector(".elementor-heading-title");
// помните, это получит все теги
const archiveTitle = document.getElementsByTagName('H1')[0];
if (!!archiveTitle) {
let text = archiveTitle.innerText;
text = text.replace("Результаты поиска для: ", "Resultados de la búsqueda de: ");
archiveTitle.innerText = text;
}
}
});
Это имеет недостаток в создании FLUC (вспышки нестилизованного контента).
add_filter('document_title_parts', function($parts){
if( is_search() ){
$parts['title'] = sprintf('Вы искали: %s',get_search_query());
}
return $parts;
});
Ответ или решение
Изменение текста "search result for" на странице результатов поиска в WordPress
Чтобы изменить текст, который отображается на странице результатов поиска в WordPress с "search result for (ключевые слова)" на "You searched for: (ключевые слова)", существует несколько подходов, которые можно рассмотреть. В зависимости от ваших предпочтений и уровня технической подготовки, могут подойти как решения на уровне темы, так и использование JavaScript.
1. Изменение через дочернюю тему
Шаг 1: Создание дочерней темы
Если вы хотите избежать потери изменений при обновлении основной темы, рекомендуется создать дочернюю тему. Для этого вы можете воспользоваться плагином Child Theme Configurator. Установите и активируйте его, следуя инструкциям на экране.
Шаг 2: Копирование файла search.php
В вашей основной теме найдите файл search.php
, который обычно находится в папке темы. Затем создайте в вашей дочерней теме папку template-parts
и скопируйте в нее файл search.php
. Это позволит вам редактировать содержание файла без влияния на оригинальную тему.
Шаг 3: Изменение текста
Откройте файл search.php
в дочерней теме и найдите строку, где выводится текст "search result for". Замените его на "You searched for: <?php echo get_search_query(); ?>". Сохраните изменения.
2. Использование JavaScript
Если вы предпочитаете быстрое решение, вы можете использовать JavaScript:
Пример кода
Добавьте следующий код в файл functions.php
вашей темы:
add_action('wp_footer', function() { ?>
<script>
document.addEventListener("DOMContentLoaded", () => {
if (window.location.href.includes("?s=")) {
const archiveTitle = document.getElementsByTagName('H1')[0];
if (archiveTitle) {
let text = archiveTitle.innerText;
text = text.replace("Search Results For: ", "You searched for: ");
archiveTitle.innerText = text;
}
}
});
</script>
<?php });
Этот код изменит текст заголовка на странице результатов поиска. Однако обратите внимание на потенциальный недостаток метода — "флеш (FLUC) не стилизованного контента", который может вызвать кратковременное отображение прежнего текста до загрузки JavaScript.
3. Изменение заголовка документа
Для изменения заголовка страницы результатов поиска можно воспользоваться следующим кодом в файле functions.php
:
add_filter('document_title_parts', function($parts) {
if( is_search() ){
$parts['title'] = sprintf('You searched for: %s', get_search_query());
}
return $parts;
});
Этот код изменит заголовок страницы в соответствии с вашими требованиями. Это также полезно для SEO, так как отображение точного запроса поискового слова в заголовке может помочь в его индексировании.
Заключение
Таким образом, вы можете изменить текст "search result for" на странице результатов поиска на "You searched for: (ключевые слова)" разными способами, в зависимости от ваших предпочтений. Используйте создание дочерней темы для долгосрочных решений, или JavaScript для быстрых исправлений. Не забывайте о вкладе таких изменений в SEO-оптимизацию сайта, чтобы улучшить видимость ваших страниц в поисковых системах.