Intereting Posts
Несколько og: изображение для Facebook Какой код писать в моем плагине, чтобы исключить мои плагины сгенерированных страниц из главного навигатора? Как я могу изменить свою meta_query для работы с ценами, которые хранятся в базе данных, которые содержат знаки доллара и запятые? Как отображать изображение при условии, что выбор сделан Удалить ссылки API JSON в заголовке html Порядок стилей в дочерней теме Выполнять функции только в области администратора? Ограничение пользовательского типа сообщений по роли пользователя Использование субдомена в качестве основного домена Как остановить мобильную тему, наследующую меню навигации на рабочем столе? символы the_terms, не ограничивающие Как заставить WordPress Editor не принимать HTML? Включить плагин jQuery в WordPress Как заменить тег шаблона the_post_thumbnail и показать первое внутри почтового изображения вместо Поиск результата персонализированного сообщения на той же странице шаблона

Персонализация поиска

при вводе «a» в поле поиска (/? s = a) Я загружен мой шаблон search.php и отображаются все результаты, соответствующие этой букве.

Если я добавлю это в мой .htacess …

 RewriteCond %{REQUEST_URI} ^/$ RewriteCond %{QUERY_STRING} ^s=(.+)$ RewriteRule .* /searchmyblog/%1/? [R,L] 

а затем введите «a» в мой поиск, показывается первый результат моего поиска. Таким образом, не отображается шаблон search.php со всеми результатами, а страница перенаправляется на страницу "mypage.com/somecategory/amore-mio"

Почему это происходит? Я просто хочу переписать обычный /?s= в /search/ или любой другой пользовательский URL.

Есть идеи по этому поводу? Я нашел кучу сообщений в Интернете, но ни один из них, похоже, не соответствует уровню техники или не использует некоторые странные JS-хаки, которые я считаю ненужными.

Идеи по этому поводу?

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

Чтобы исправить это, вы можете изменить мой код для базы разбиения на страницы, чтобы изменить базу поиска:

 if ( ! function_exists( 't5_search_base' ) ) { register_activation_hook( __FILE__ , 't5_flush_rewrite_on_init' ); register_deactivation_hook( __FILE__ , 't5_flush_rewrite_on_init' ); add_action( 'init', 't5_search_base' ); function t5_search_base() { $GLOBALS['wp_rewrite']->search_base = 'searchmyblog'; } function t5_flush_rewrite_on_init() { add_action( 'init', 'flush_rewrite_rules', 11 ); } } 

Теперь ваш .htaccess должен работать.