thehighhomie
@thehighhomie

Wordpress: Постоянные ссылки кастомных постов перезаписывают пагинацию?

Есть страница sitename/book и в ней выводится список книг. При клике на книгу идет переход на страницу книги, ее адрес такой: sitename/book/bookname.

Так вот, если я добавлю пагинацию то при переходе на sitename/book/page/2 будет ошибка 404, то есть как я понимаю адрес sitename/book/bookname перезаписывает sitename/book/page/ и по этому выдает 404.

Дело в том что структуру ссылок нельзя менять, я не могу к примеру сделать вывод книг на странице sitename/all-books (хотя так пагинация работает, так как ни что не перезаписывает ее), сеошник попросил этого не делать, чтобы осталась иерархия.

Посоветуйте решение пожалуйста.
  • Вопрос задан
  • 164 просмотра
Решения вопроса 1
Punkie
@Punkie
book - это статическая страница, но с циклом для вывода кастомного типа записей, верно? Вопрос в том, что у вас не работает пагинация кастомного wp_query, который вызывается в теле страницы?

Я такую ситуёвину решал примерно так:

<?php
// Чиним пагинацию
// https://toster.ru/q/497068
function fix_template_redirect_497068(){
	if ( is_page('book') ) { // вот тут нужно подобрать оптимальное рабочее условие
		global $wp_query;
		$page = (int) $wp_query->get('page');
		if ( $page > 1 ) {
			// convert 'page' to 'paged'
			$query->set( 'page', 1 );
			$query->set( 'paged', $page );
		}
		
		remove_action( 'template_redirect', 'redirect_canonical' );
	}
}
add_action('template_redirect', 'fix_template_redirect_497068', 0 );
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы