Intereting Posts
Таможенная таксономия не сохраняется в конце сообщения Возможно ли хранить данные пользовательского типа отправки в отдельном наборе таблиц и все еще иметь функциональность класса wp_post? Отправить функцию для заказа деталей в backend Admin ! = и! == оба не всегда работают? Как управлять несколькими проектами wordpress с общей базой кода Правило перезаписи работает только с префиксом перед первым совпадением скорректировать the_excerpt на основе страницы шаблона Список сообщений по пользовательской таксономии Как программировать расписание / cron WordPress 3.9 два меню в одном положении? Могу ли я временно отключить глобальный пост $? Минимальная цена Woocommerce для композитного продукта для добавления в корзину Как показать страницу подкатегорий на странице? Плохо хранить много файлов в одной папке? Условная структура постоянной ссылки

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

при вводе «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-хаки, которые я считаю ненужными.

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

Solutions Collecting From Web of "Персонализация поиска"

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 должен работать.