У меня возникли проблемы с пониманием или даже диагностикой того, почему разбиение на страницы не отображается в моем файле home.php, который я создал в моей теме 20-летнего ребенка. У меня 3 сообщения в блоге, и я хочу показать только один, с разбивкой на страницы внизу.Почему в этом шаблоне WordPress не отображаются ссылки на страницы?
Я запускаю WordPress 4.7.2, и согласно статье this я должен использовать the_posts_pagination(), чтобы отображать разбиение на страницы для моих сообщений, но ничего не появляется. Я настроить пользовательский запрос, как описано here (проходящей Params как массив вместо строки запроса):
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$query = new WP_Query(array('posts_per_page' => 1, 'paged' => $paged));
Есть 3 сообщений, и если я установить запрос на это, то я вижу, все три на моем доме .php страница:
$query = new WP_Query(array('posts_per_page' => 3, 'paged' => $paged));
Когда я установил 'posts_per_page' 1, а затем вызвать the_posts_pagination(), я вижу только первый пост, и не пагинацию. Я не понимаю, почему не отображается разбиение на страницы, так как там больше страниц для отображения. Тем не менее, я по-прежнему новичок в WordPress, поэтому я уверен, что я просто пропустил что-то очевидное.
Вот мой полный код для справки:
<?php
get_header();
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$query = new WP_Query(array('posts_per_page' => 1, 'paged' => $paged));
?>
<div class="wrap">
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php
if ($query->have_posts()) :
/* Start the Loop */
while ($query->have_posts()) : $query->the_post();
the_title('<h1>', '</h1>');
the_content();
endwhile;
the_posts_pagination();
else :
get_template_part('template-parts/post/content', 'none');
endif;
?>
</main><!-- #main -->
</div><!-- #primary -->
</div><!-- .wrap -->
<?php get_footer();
EDIT ПОСЛЕ ВОПРОСА ANSWERED
ОК, так что кажется, что даже если я установить «posts_per_page», что я хотел, чтобы отобразить здесь:
$query = new WP_Query(array('posts_per_page' => 1, 'paged' => $paged));
Wordpress все еще полагался на установление ngs в Dashboard-> Settings-> Reading-> Страницы блога показывают не более, чтобы определить разбивку на страницы, поэтому мне пришлось туда и установить это. Я до сих пор не мог the_posts_pagination правильно работать, но это сделал:
previous_posts_link(' << Newer Entries ');
next_posts_link(' Older Entries >> ', $query->max_num_pages);
http://wordpress.stackexchange.com/questions/180784/what-is-the-difference-between-paged-and-page –
@EdDogan Спасибо за статью, которая помогает мне понять разницу по страницам и странице , Я думаю, что я правильно использую страницы, потому что это страница индекса сообщений блога (home.php), правильно? Если я удалю условный оператор и просто получаю запрос «paged» var, я все равно получаю тот же результат. –
Является ли результат тем же, если вы используете другие функции разбиения на страницы, такие как ' Php next_posts_link(); ?> php previous_posts_link(); ?> ' –