Intereting Posts
Получить идентификатор страницы ссылки на пункт меню? Плагин с открытым исходным кодом и требует лицензии Номера галереи изображений для 3,5 Обновить класс тела на основе меню HTML / Javascript в пользовательском поле textarea? WP_Query: получите 3 случайных сообщения из 10 последних Функция is_tax () работает не так, как ожидалось Откройте кнопку «Просмотр страницы» в редакторе в новой вкладке Как я могу назвать эскиз / изображение в качестве фонового изображения? Могу ли я добавить несколько массивов в add_theme_support («цвета»)? wordpress multisite, как сохранить пользователя на субдомене во время процесса регистрации? previous_posts_link и next_posts_link, как вернуть заголовок следующего / предыдущего сообщения в качестве URL-адреса Вождение случайной цитаты, такой как функциональность с базой данных Сохранение параметра $ _GET при использовании пользовательского правила Rewrite функциональная quicktag

Как обрабатывать пейджинг / разбиение на страницы с пользовательской постоянной ссылкой?

Надеюсь, я смогу объяснить это правильно:

Я работаю над проектом, включающим несколько типов сообщений и пользовательские постоянные ссылки. У меня есть тип сообщения для телевизионных / видеороликов / франшизы и отдельный тип сообщения для контента (эпизоды, фильмы, прямые видео). Для типа контента в настоящее время у меня есть постоянная ссылка:

abc.com/watch/%content_series%/%content_type%/%postname% 

Благодаря правилам перезаписи структура ухудшается: у меня могут быть архивные прокладки, которые просто являются abc.com/watch/%content_series%/%content_type%/ или abc.com/watch/%content_series%/ без проблем. Проблема, с которой я сталкиваюсь, – это разбиение на страницы. Если я сделал abc.com/watch/one-piece/page/2 , я попал в ловушку, потому что вместо распознавания, что мне нужна страница 2, он считает, что страница является content_type а 2 – name .

Сценарий анализатора rewrite подтверждает это: введите описание изображения здесь

Итак, право переписывать есть, его просто не имеет приоритета. Есть ли способ сделать эту работу правильно?

EDIT: Вот код, который устанавливает все:

 //Query vars/tags add_rewrite_tag('%content_series%','([^/]+)'); add_rewrite_tag('%content_type%','([^/]+)'); add_rewrite_tag('%content_num%','([0-9]{1,})'); //Permastructs $content_struct = get_option('veda_content_slug') . '/%content_series%/%content_type%/%postname%'; add_permastruct('veda_content', $content_struct, false); add_rewrite_rule( get_option('veda_content_slug') .'/?$', 'index.php?post_type=veda_content', 'top' ); 

Solutions Collecting From Web of "Как обрабатывать пейджинг / разбиение на страницы с пользовательской постоянной ссылкой?"

Раньше я разделял это точное разочарование. Следующее должно помочь вернуть потерянное здравомыслие.

Ваша первая переписка довольно свободна и не видит вашу вторую переписку, потому что «страница» соответствует вашему второму сегменту ([^ /] +). Способ исправить это – это изменить порядок регистрации в коде. Если вычисленная переписываемая строка находится ниже правила looser, поместите ее на одну строку выше или наоборот / там, где вы регистрируете правила перезаписи.

Вы увидите правильные правила, входящие в анализатор.

Надеюсь это поможет!

Хорошо, после много экспериментов я нашел решение. Все, что мне нужно было сделать, это создать еще несколько пользовательских правил перезаписи, чтобы заставить его работать:

 //Custom rewrites add_rewrite_rule( $slug . '/page/([0-9]+)?/?$', 'index.php?post_type=veda_content&paged=$matches[1]', 'top' ); add_rewrite_rule( $slug . '/([^/]+)/page/([0-9]+)?/?$', 'index.php?post_type=veda_content&paged=$matches[2]&content_series=$matches[1]', 'top' ); add_rewrite_rule( $slug . '/([^/]+)/([^/]+)/page/([0-9]+)?/?$', 'index.php?post_type=veda_content&paged=$matches[3]&content_series=$matches[1]&content_type=$matches[2]', 'top' ); 

Они делают трюк в анализаторе перезаписи. Надеюсь, это поможет кому-то другому.