Измените текст “результат поиска для” на странице результатов поиска

Вопрос или проблема

Я искал во всех файлах 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-оптимизацию сайта, чтобы улучшить видимость ваших страниц в поисковых системах.

Оцените материал
Добавить комментарий

Капча загружается...