#php #wordpress #pagination
#php #wordpress #разбивка на страницы
Вопрос:
Я веду блог на WordPress, и разбивка на страницы сообщений не отображается. Список записей отображается правильно, но в нем всего 5 записей (у меня 8), и разбивка на страницы не работает.
<?php
if (have_posts()): while (have_posts()) : the_post(); ?>
<div class="all-post">
<?php
$args = array('category' => '');
$myposts = get_posts($args);
foreach ($myposts as $post) : setup_postdata($post); ?>
<div class="post">
<div class="post-thumbnail">
<?php the_post_thumbnail(); ?>
</div>
<div class="post-details">
<div class="post-meta">
<span class="date"><?php the_time('j M, Y'); ?></span>
<!-- Categories -->
<span class="categories">
<?php
$category_ids = get_all_category_ids();
?><?php
$args = array('orderby' => 'slug', 'parent' => 0);
$categories = get_categories($args);
foreach ($categories as $category)
{
echo '<a href="' . get_category_link(
$category->term_id
) . '" rel="bookmark" class="category">' . $category->name . '' . $category->description . '</a>';
} ?>
</span>
</div>
<h2 class="post-title">
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</h2>
<a href="<?php the_permalink(); ?>" class="read-more">Read More</a>
</div>
</div>
<?php endforeach;
wp_reset_postdata(); ?>
</div>
<?php endwhile; ?>
<?php next_posts_link('Older posts'); ?>
<?php previous_posts_link('Newer posts'); ?>
<?php else: ?>
<?php endif; ?>
Ответ №1:
Возможно, вы не задавали никакого posts_per_page
значения, и по умолчанию используется значение 5. Если вы хотите изменить ее для всех страниц блога / архива веб-сайта, измените значение posts_per_page на странице настроек чтения.
В $args
массиве измените следующим образом:
$args = array(
'posts_per_page'=> -1, // unlimited
'category' => ''
);
$posts = get_posts($args);
Я благоразумен в своем ответе (вот почему я даю 2 метода для достижения этого), потому что я не знаю в вашем данном коде, изменен ли основной цикл $args .
Я надеюсь, что это все же могло бы вам помочь.