В моем файле template-works.php есть следующее:
Код: Выделить всё
get_home_pagination();
$args = array( 'post_type' => 'works', 'posts_per_page' => 10, 'paged' => $paged ); $wp_query = new WP_Query( $args );
if ( $wp_query->have_posts() ) :
while ($wp_query->have_posts()) :
$wp_query->the_post();
get_template_part( 'loop', 'works' );
endwhile;
else:
_e( 'Nothing here.' );
endif;
И затем в файле function.php у меня есть:
Код: Выделить всё
function get_home_pagination() {
global $paged, $wp_query, $wp;
$args = wp_parse_args($wp->matched_query);
if ( !empty ( $args['paged'] ) && 0 == $paged ) {
$wp_query->set('paged', $args['paged']);
$paged = $args['paged'];
}
}
Если я наберу, например, URL-адрес «(...)/blog/page/456», шаблон блога загружается с сообщением «Здесь ничего нет». ". Нет страницы с ошибкой 404.
С другой стороны, URL-адрес "works/page/2", который, как я ожидаю, вернет несколько сообщений, заканчивается на странице с ошибкой 404.
Почему?
РЕДАКТИРОВАТЬ:
На странице 404 я также получаю эту ошибку:
Пытаюсь получить недвижимость необъекта в
(…)/wordpress/wp-includes/post-template.php в строке 29.
.. .но это может быть не связано с проблемой нумерации страниц. Мне удалось удалить код, вызывающий эту ошибку (из настроенного мной плагина), но нумерация страниц по-прежнему не работает.
РЕДАКТИРОВАТЬ:
Вот что я получил, отладив URL-адрес mysite.com/trabalhos/parina/2 с помощью подключаемого модуля Debug-this. Кажется, это очень неправильно:
Обратно: trabalhos = работает, страница = страница
Соответствующее правило: trabalhos/([^/]+)(/[0-9]+)?/?$
Соответствующий запрос:works=pagin&page=%2F2
Запрос Строка:
page=%2F2&name=pagin&post_type=works&works=pagin&debug-this=rewrites
Насколько я понимаю, URL mysite. com/trabalhos/parina/2 ДОЛЖЕН указывать на следующий URL-адрес (за исключением того, что он не работает, но если я заменю «trabalhos» на «noticias» - мой ярлык для «блога» — работает):
mysite.com/trabalhos/parina/2/?pagename=trabalhos
Однако URL-адрес mysite.com/trabalhos/parina/2 указывает на этот странный URL-адрес:
mysite.com/trabalhos/pagin/2?page=%2F2&works=parina&post_type=works&name=pagin
И что удивительно, следующий URL указывает именно на то содержание, которое я ожидал, то есть на вторую страницу произведений (trabalhos):
mysite.com/noticias/parina/2/?pagename=trabalhos
Кажется, я близок к решению... однако Я пробовал деактивировать все плагины, удалять почти весь php-код темы, каждый раз сбрасывать настройки постоянных ссылок в панели администратора, среди прочего, но ошибка не исчезла.
Это какая-то неверная конфигурация? Где бы это было?
Заранее благодарим за любую помощь!
Подробнее здесь: https://stackoverflow.com/questions/229 ... types-only
Мобильная версия