У меня эта проблема уже много лет, и я так и не смог ее решить. Это мой белый кит.
У меня есть несколько пользовательских типов сообщений. Я хочу отображать все сообщения на главной странице моего сайта. Когда я пытаюсь разбить их на страницы, я всегда сталкиваюсь с одной и той же проблемой. Страница 2 (или иногда страница 3) возвращает 404. Я видел, как этот вопрос задавали несколько раз, и несколько человек предложили много разных решений, но ни одно из них, похоже, не работает для меня.
Вот код, который я В настоящее время:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type'=> array('post', 'review'),
'posts_per_page' => 1,
'paged' => $paged,
);
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) {
while ( $loop->have_posts() ) : $loop->the_post();
?>
<h1><?php the_title(); ?></h1>
<?php
endwhile;
$total_pages = $loop->max_num_pages;
if ($total_pages > 1){
$big = 999999999;
echo paginate_links(array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $loop->max_num_pages,
'next_text' => __('Next »'),
));
}
}
wp_reset_postdata();
Несколько вещей, о которых стоит упомянуть:
- Этот код взят из моего индекса. php file
- Я заново сохранил мои постоянные ссылки (с использованием структуры имени сообщения)
- Я возвращаю только одно сообщение за один раз для целей тестирования, и я также установил значение для страниц блога, показывающих не более 1, а также
- Я занимаюсь разработкой этой темы на своем домашнем компьютере, на котором запущен wampserver (поэтому URL-адрес localhost ... не уверен, имеет ли это значение?)
Я действительно изо всех сил пытаюсь понять, почему это не так т работа. Это очень расстраивает, и я чувствую, что делаю что-то действительно неправильное ...!