Почему не работает пагинация на wp?

166
04 июля 2019, 13:30

Не выводиться пагинация, и даже если в url вбиваешь вторую или третью страницу все равно выводит одни и те же данные. Вот запрос.

<?php $args  = array (
              'post_type' => 'post',
              'posts_per_page' => 2,
      ); ?>
      <?php $query = new WP_Query($args); ?>
      <?php if($query->have_posts()): ?>
            <?php while ($query->have_posts()){ $query->the_post();?>
              <li class="blog__item">
                  <figure class="blog__item-img">
                      <img src="<?php echo get_the_post_thumbnail_url(); ?>" alt="<?php the_title(); ?>">
                  </figure>
                  <div class="blog__item-info">
                      <p class="blog__item-category">
                          <?php  foreach (get_the_category() as $cat):
                              echo $cat->cat_name;
                          endforeach; ?>
                      </p>
                      <h2 class="blog__item-title"><?php the_title(); ?></h2>
                      <div class="blog__item-descr">
                        <?= get_the_content(); ?>
                      </div>
                      <div class="blog__item-footer">
                          <a href="<?php the_permalink(); ?>" class="blog__item-link"><?php pll_e('link_blog') ?></a>
                      </div>
                  </div>
              </li>
            <?php } ?>
         <?php wp_blog_pagination(); ?>
      <?php endif; ?>

А вот сама пагинация.

<?php
// wp pagination
function wp_blog_pagination( $args = array() ) {
$defaults = array(
'range'           => 4,
'custom_query'    => FALSE,
'previous_string' => __( 'Previous', 'text-domain' ),
'next_string'     => __( 'Next', 'text-domain' ),
'before_output'   => '<ul class="pagination__list">',
        'after_output'    => '</ul>'
);
$args = wp_parse_args(
$args,
apply_filters( 'wp_bootstrap_pagination_defaults', $defaults )
);
$args['range'] = (int) $args['range'] - 1;
if ( !$args['custom_query'] )
$args['custom_query'] = @$GLOBALS['wp_query'];
$count = (int) $args['custom_query']->max_num_pages;
$page  = intval( get_query_var( 'paged' ) );
$ceil  = ceil( $args['range'] / 2 );
if ( $count <= 1 )
return FALSE;
if ( !$page )
$page = 1;
if ( $count > $args['range'] ) {
    if ( $page <= $args['range'] ) {
    $min = 1;
    $max = $args['range'] + 1;
    }
    elseif ( $page >= ($count - $ceil) ) {
        $min = $count - $args['range'];
        $max = $count;
        }
        elseif ( $page >= $args['range'] && $page < ($count - $ceil) ) {
            $min = $page - $ceil;
            $max = $page + $ceil;
        }
        } else {
        $min = 1;
        $max = $count;
        }
$echo = '';
$previous = intval($page) - 1;
$previous = esc_attr( get_pagenum_link($previous) );
if ( $previous && (1 != $page) )
$echo .= '<li><a href="' . $previous . '" class="pagination__link" title="' . __( 'previous', 'text-domain') . '">' . $args['previous_string'] . '</a></li>';
    if ( !empty($min) && !empty($max) ) {
        for( $i = $min; $i <= $max; $i++ ) {
            if ($page == $i) {
            $echo .= '<li class="active"><span class="active">' . str_pad( (int)$i, 1, '0', STR_PAD_LEFT ) . '</span></li>';
            } else {
                $echo .= sprintf( '<li><a href="%s" class="pagination__link">%2d</a></li>', esc_attr( get_pagenum_link($i) ), $i );
            }
        }
    }
        $next = intval($page) + 1;
        $next = esc_attr( get_pagenum_link($next) );
        if ($next && ($count != $page) )
        $echo .= '<li><a href="' . $next . '" class="pagination__link" title="' . __( 'next', 'text-domain') . '">' . $args['next_string'] . '</a></li>';
        if ( isset($echo) )
        echo $args['before_output'] . $echo . $args['after_output'];
        }
READ ALSO
Построение запроса для фильтра товаров [закрыт]

Построение запроса для фильтра товаров [закрыт]

Имею понятие как сделать фильтр по одному параметру, например производителюНо как правильно составить запрос, чтобы учитывались все выбранные...

153
Регулярное выражение Cookie

Регулярное выражение Cookie

Имеются строки вида:

128
Плагин Sublime Text

Плагин Sublime Text

Верстаю в Sublime Text 3Был плагин, который показывал функции PHP, а название плагина вспомнить не могу

132
Обновление div из php без перегрузки страницы

Обновление div из php без перегрузки страницы

Хочу сделать простенький чатПримерно должно работать так:

134