Intereting Posts
Как я могу присвоить стиль только тогда, когда конкретный виджет активен? $ content variable – Является ли это зарезервированной переменной для функции WordPress? – php / wordpress Сообщения об ошибках и не могут доходить до администратора после обновления до 3.4.1 WordPress Пользовательская таксономия как флажок или раскрывающийся список Slug для стандартного сообщения post_type После изменения siteurl, базы данных исходного URL-адреса, он показывает 3/4 ошибки, вызванные 3.1.3 автоматическое обновление Настройки API vs Theme Customizer Принудительное использование RSS 0.92 feed Отображение заголовка сообщения на странице «Редактировать страницу»? get_adjacent_post – в том же сроке не работает положение блокировки мета-окна на экране редактирования сообщений для участников плагин css не применяется к странице? Добавление кода в голову на все страницы вручную Использование поля повторителя ACF

Проблема с add_rewrite_rule и разбиением на страницы (paged и page query_vars)

У меня есть обычная таксономия с именем location и я хочу добавить разделы, такие как «новости» и «рынок» для каждого термина, поэтому мой url выглядит как /location/montreal/news/

Он отлично работает, пока я не попытаюсь добавить разбивку на страницы. Вот мой код:

 add_action( 'init', 'region_rewrite' ); function region_rewrite() { global $wp; $wp->add_query_var( 'section' ); add_rewrite_rule( '^location/([^/]*)/([^/]*)/page/([0-9]+)/?', 'index.php?location=$matches[1]&section=$matches[2]&paged=$matches[3]', 'top' ); add_rewrite_rule( '^location/([^/]*)/([^/]*)/?', 'index.php?location=$matches[1]&section=$matches[2]', 'top' ); } 

Я использую плагин анализатора Rewrite, и кажется, что местоположение, раздел и постраничный запрос query_vars присваиваются с правильным значением. Тем не менее, я получаю ошибку 404 при попытке получить доступ к URL-адресу страницы, например /location/montreal/news/page/2 . Я также заметил, что переменная page имеет значение /2 . Возможно ли, что именно поэтому я получаю 404 не найден?

Любая помощь будет принята с благодарностью!

Solutions Collecting From Web of "Проблема с add_rewrite_rule и разбиением на страницы (paged и page query_vars)"

Я думаю, вы могли бы просто вызвать paged add_rewrite_url последним, чтобы он был сначала проверен. В противном случае выгружаемая версия никогда не получит никакого соответствия, так как неизменяемый будет всегда соответствовать первым. Должен также работать, если вы удалите «верхний» из своих аргументов.

Кроме того, ознакомьтесь с этой страницей для хорошего способа отладки этих 404 при работе с пользовательским переписыванием: http://www.dev4press.com/2012/tutorials/wordpress/practical/debug-wordpress-rewrite-rules-matching/

Благодаря Оливье. Моя собственная проблема заключалась в том, что мой add_rewrite_url работал отлично для страниц, но не для всех сообщений.

Он работал для сообщений, если используется только %postname%/ в настройке постоянной ссылки. Я продолжал проигрывать бит после URL- /%category%/%postname%/ при использовании /%category%/%postname%/ ie http://me.com/test/post/my-next-bit-that-url-rewrite-should-act-on содержал 301 перенаправление на http://me.com/test/post/my-next-bit-that-url-rewrite-should-act-on из-за канонического поведения wordpress

Следующая строка остановила эту проблему.

 remove_filter('template_redirect', 'redirect_canonical'); 

Я считаю, что это должно быть предложено в кодексе.