Intereting Posts
Должны ли третьи стороны использовать $ wp_scripts / $ wp_styles-> add_data? Модальное окно изнутри WordPress admin Скрыть цену на одной отдельной странице продукта Woocommerce Создать шаблон настраиваемого вложения, который обрабатывается из папки плагина? Почему $ _SESSION работает только при входе в систему? Почему использование __construct вместо widget_class_name при создании виджета запускает из памяти ошибку Получение идентификатора опроса из базы данных WP Ограничить отображение сообщений самому плакату (в Back-end) почему на этой странице {single-custom_post_type.php} не работает функция the_content ()? Пользовательский размер изображения не выбирается в загрузчике ACF в wordpress Создание лучшего медиа-загрузчика для WordPress wp не делает уникальную СРН-константу / слизню Должен ли я всегда предпочитать esc_attr_e & esc_html_e вместо _e? Создание пользователя без имени пользователя и пароля

Как исправить разбиение на страницы после переписывания 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');