Intereting Posts
Отображение удаленных данных внутри темы admin Используйте изображение логотипа более чем 230 пикселей с темой 2013 года Кажется, я не вижу изображения на своей машине, но могу на сервере Получить аудио метаданные при загрузке файлов Эхо-код короткого кода после каждых 3 сообщений Неверная страница архива типа почтового сообщения is_admin () возвращает true при использовании admin-ajax.php из скрипта переднего конца В архиве тегов – количество просмотров сообщений для каждой категории, к которой они принадлежат. Как создать пользовательскую категорию wordpress admin просмотреть страницу регистрации / страницу входа в систему как пользователя Пользовательский запрос работает, но возвращает «Undefined Offset: 0» Таблица wp_posts: безопасное удаление неиспользуемых столбцов для сохранения хранилища баз данных Применить пользовательский стиль к одному слову в WordPress Белый пустой экран и проблема, чтобы получить эскиз в Событие wp.customize.bind не запущено

Как превратить страницу 404 в автоматический поиск с информацией из URL-адреса?

Кажется, что все 404 реализации связаны с показом соответствующего контента. Я думаю, что мы можем сделать лучше, автоматически просматривая недостающее сообщение … Как это можно сделать?

Solutions Collecting From Web of "Как превратить страницу 404 в автоматический поиск с информацией из URL-адреса?"

Это можно сделать двумя простыми шагами.

  1. Обновите свой поиск по сайту с помощью подключаемого модуля, такого как Relevanssi (необязательно).

  2. Добавьте следующий код в functions.php или через фрагменты кода (thx to @Howdy_McGee и Russell Jamieson для идей!)

function wpse_204310() { global $wp_query; if( is_404() && !is_robots() && !is_feed() && !is_trackback() ) { $uri = $_SERVER['REQUEST_URI']; $clean = str_replace( "/", "%20", $uri ); $clean2 = str_replace( "-", "%20", $clean ); wp_redirect( home_url( "/?s={$clean2}" ) ); exit(); } } add_action( 'template_redirect', 'wpse_204310' ); 

Вот и все. Этот код будет анализировать URL-адрес заголовка блога и передавать его на страницу поиска. Все прозрачно для пользователя. Это предполагает простую структуру постоянной ссылки, такую ​​как domain.com/post-title

Вы можете захватить имя, которое они ищут на 404, и использовать template_redirect чтобы поместить это имя в поиск по умолчанию:

 function wpse_204310() { global $wp_query; if( is_404() ) { $slug = $wp_query->get( 'pagename' ); wp_redirect( home_url( "/?s={$slug}" ) ); exit(); } } add_action( 'template_redirect', 'wpse_204310' ); 

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