• Здравствуйте.
    В одном месте возникла проблема с пагинацией.

    Выводится цикл с custom post type, в нем стоит ‘post_status’ => ‘future’ и не работает пагинация.
    Пробовал сменить статус всех записей на обычный и убрать этот параметр, тогда все ок.
    Сейчас записи все будущие выводятся как нужно, но нет пагинации. мне кажется что просто пагинация ищет опубликованные а не будущие посты.

    Вот код которым делал:

    <?php
            $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
            $args = array(
                'paged' => $paged,
                'post_type' => 'event',
                'post_status' => 'future',
                'orderby' => 'title',
                'order' => 'ASC'
            );
            $query = new WP_Query( $args );
            if ( $query->have_posts() ) { ?>
                <div class="slider-catalog">
                    <div class="slider-catalog__slider">
                        <?php while ( $query->have_posts() ) {
                            $query->the_post();?>
                            <div class="developments__slider-content">
                                <?php the_content();?>
                            <?
                        }
                        wp_reset_postdata();?>
                    </div>
                    <?php if (function_exists("pagination")) {
                        pagination($custom_query->max_num_pages);
                    } ?>
                </div>
            <? } ?>

    Вот код для пагинации в functions:

    function pagination($pages = '', $range = 4)
    {
         $showitems = ($range * 2)+1;
         global $paged;
         if(empty($paged)) $paged = 1;
         if($pages == '')
         {
             global $wp_query;
             $pages = $wp_query->max_num_pages;
             if(!$pages)
             {
                 $pages = 1;
             }
         }
         if(1 != $pages)
         { ?>
             <div class="developments__slider-contr clear"><div class="developments__slider-contr-bt">
                 <?php echo "<a href='".get_pagenum_link($paged - 1)."'>←</a>";?>
                 <div class="developments__slider-contr-dots">
                     <?php for ($i=1; $i <= $pages; $i++)
                     {
                         if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
                         {
                             echo ($paged == $i)? "<span>".$i."</span>":"<a href='".get_pagenum_link($i)."'>".$i."</a>";
                         }
                     }?>
                 </div>
                 <?php echo "<a>→</a>";
                 echo "</div>\n"; ?>
             </div>
         <?php }
    }

    Сможет кто-то помочь?

    • Тема изменена 8 лет, 3 месяца назад пользователем Denis Yanchevskiy. Причина: Правила п14
Просмотр 2 ответов — с 1 по 2 (всего 2)
Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Не работает пагинация с post_status = future» закрыта для новых ответов.