Разбивка на страницы WordPress не видна из цикла

#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 .

Я надеюсь, что это все же могло бы вам помочь.