Intereting Posts
Как просмотреть результат короткого кода в редакторе TinyMCE? Как я могу динамически генерировать args для wp_query? Пользовательское поле php Отображать миниатюру ребенка, родителя и предка с использованием эскизов расширенная лицензия MIT Сумасшедший вопрос – обновление идентификатора сообщения WP REST API. Легко ли переименовать часть wp-json по умолчанию? Вы очищаете свои самозанятые плагины при деактивации? Вкладка «Плагин администратора WordPress» Изменить требуемое сообщение с использованием формы комментария api Отображение миниатюр последнего сообщения WordPress в слайдере с автоматическим приращением Функция query_posts () делает глобальную $ wp_query не синхронизированной? post_date vs. post_modified – какая разница? Поддерживает ли switch_to_blog массив или другие способы показать все сообщения в сетевой установке? Боковая панель ограничена 10 сообщениями?

Проверить Если поисковый запрос содержит что-то?

Как проверить, содержат ли поисковые запросы некоторые символы? Например, я хотел бы проверить, содержит ли поисковый запрос «/».

Я попробовал этот ответ, но он не работает для меня. Просто сказать, что я использую пользовательскую базу поиска.

Пример:

site.com/myseachbase/keyword

где «myseachbase» – моя обычная база поиска. Мне нужно, чтобы проверить, имеет ли поисковый запрос «/», в некоторых случаях он находится в конце поискового запроса, например:

site.com/myseachbase/keyword/

Как проверить для этого окончания «/» в URL-адресе поиска?


ОБНОВЛЕНИЕ ВОПРОСА:


Проблема в том, что у меня есть некоторые настраиваемые URL-адреса, например:

site.com/myseachbase/keyword

Это практически результаты поиска, даже посетители открывают их, нажимая ссылку (ссылки), а не обычным поиском по сайту.

Мне нужно сделать их индексируемыми только в том случае, если:

  • есть результаты поиска
  • это первая страница результатов поиска, а не для других / page / x
  • поисковый запрос имеет определенное ключевое слово (и)
  • результаты поиска правильные и полезные результаты
  • плюс добавить некоторый качественный контент, подготовленный редактором на основе ключевого слова поиска

После того, как я сделал эту часть, у меня есть качественный контент, пользовательский текст на основе поискового запроса + некоторые изображения (изображения – результаты поиска) по URL-адресам, таким как:

site.com/myseachbase/keyword

но, если вы добавите «/», вы получите ту же страницу, но еще один URL-адрес, который также будет удовлетворять условиям, подлежащим индексированию. Таким образом, мне нужен способ поместить тег noindex в случае, если это дубликат URL, URL с «/» в конце, потому что у меня нет возможности создать URL-адрес канонической информации. Для этого мне нужно что-то проверить для «/».

После обновления вопроса, я думаю, вам нужно установить канонический URL:

add_action( 'wp_head', 'cyb_search_results_canonical_URL' ); function cyb_search_results_canonical_URL() { if( is_search() ) { $link = get_search_link(); echo '<link rel="canonical" href="' . esc_url( $link ) . '">'; } } 

И ваша проблема с дублированным контентом исправлена.

Вам нужно будет подключиться к поисковому запросу через pre_get_posts . Следующий фрагмент будет искать / в запросе.

 add_action('pre_get_posts','search_query'); function search_query($query){ if (!is_admin() && $query->is_main_query() && is_search()){ $search = $query->query_vars['s']; if (strpos('/', $search) !== false){ // Found '/' in search query } } }