Intereting Posts
Я хочу добавить параметр URL ко всем URL-адресам Проверьте, отмечена ли отметка «Отправить новому пользователю электронное письмо об учетной записи» Ошибка register_sidebar при использовании include в функции functions.php Как получить пользовательский размер изображения для изображения, загруженного в Настройщик Перенаправить удаленный URL страницы? P = xxxx Группируйте несколько настраиваемых глобальных шаблонов страниц в подпапке Переопределение файла темы редукции в дочерней теме Страница архива типа сообщения не работает Файлы cookie WordPress – wp_set_auth_cookie Медиа не удаляется на диске при нажатии кнопки «Постоянное удаление» Использование ReactJS в администраторе WordPress для разработки плагинов Показать сообщения без содержимого в RSS Страница индекса не работает Отменить jQuery 'noConflict' – это действительно небезопасно? Добавление настраиваемого атрибута в ссылку элемента меню с помощью фильтра

Как исправить разбиение на страницы после переписывания URL? то есть. www.site.com/players/type/pro/page/3/

У меня есть пользовательский тип сообщений, и archive-players.php перечисляет их все по адресу, например www.site.com/players .

Затем я использую URL-адрес, например www.site.com/players?type=pro чтобы перечислить другую страницу только про-игроков (измененный wp_query на основе пользовательской роли пользователя, поэтому я не просто делаю это с таксономией) , Я решил переписать URL-адрес, так что это www.site.com/players/pro .

Сама страница работает отлично, но мой вопрос: как я могу исправить разбиение на страницы, когда URL-адрес похож на www.site.com/players/type/pro/page/3/ ? на данный момент я получаю страницу не найдена. Я использую wp page-navi для разбивки на страницы. На самом деле, разбиение на страницы не работает, когда у меня есть это как просто ?type=pro .

Код, который у меня есть для перезаписи, приведен ниже. Лучше ли переписывать с помощью wordpress или mod_rewrite? У меня тоже нет опыта. Правильно ли я это делаю? Я читал некоторые другие вопросы и сообщения повсюду, но все это меня просто смущает.

 function add_query_vars($aVars) { $aVars[] = "type"; return $aVars; } add_filter('query_vars', 'add_query_vars'); function add_rewrite_rules($aRules) { $aNewRules = array('players/type/([^/]+)/?$' => 'index.php?post_type=players&type=$matches[1]'); $aRules = $aNewRules + $aRules; return $aRules; } add_filter('rewrite_rules_array', 'add_rewrite_rules'); 

Solutions Collecting From Web of "Как исправить разбиение на страницы после переписывания URL? то есть. www.site.com/players/type/pro/page/3/"

Вы должны добавить другое правило, которое отображает / page / # в переменной & paged = #.

На самом деле, вы делаете все это назад, фильтруя массив правил. Просто вызывать add_rewrite_rule для добавления ваших правил имеет немного больше смысла.

 function plugin_name_add_rewrite_rules() { add_rewrite_rule('players/type/([^/]+)/?$', 'index.php?post_type=players&type=$matches[1]', 'top'); add_rewrite_rule('players/type/([^/]+)/page/([0-9]+)?$', 'index.php?post_type=players&type=$matches[1]&paged=$matches[2]', 'top'); } add_filter('init', 'plugin_name_add_rewrite_rules'); , function plugin_name_add_rewrite_rules() { add_rewrite_rule('players/type/([^/]+)/?$', 'index.php?post_type=players&type=$matches[1]', 'top'); add_rewrite_rule('players/type/([^/]+)/page/([0-9]+)?$', 'index.php?post_type=players&type=$matches[1]&paged=$matches[2]', 'top'); } add_filter('init', 'plugin_name_add_rewrite_rules'); которого function plugin_name_add_rewrite_rules() { add_rewrite_rule('players/type/([^/]+)/?$', 'index.php?post_type=players&type=$matches[1]', 'top'); add_rewrite_rule('players/type/([^/]+)/page/([0-9]+)?$', 'index.php?post_type=players&type=$matches[1]&paged=$matches[2]', 'top'); } add_filter('init', 'plugin_name_add_rewrite_rules');