WP Query вывод paginate_links

92
20 апреля 2022, 03:40
<?php
  global $post;
  $current_page = !empty( $_GET['blog'] ) ? $_GET['blog'] : 1;
  $args = array(
    'posts_per_page' => 12,
    'category_name' => 'news',
    'paged'          => $current_page,
  );
  $query = new WP_Query($args);
  if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
      $query->the_post();
      ?>
      вывод html работает отлично
      <?php
    }
    echo paginate_links( array(
      'base' => site_url() . '%_%',
      'format' => '/blog/%#%',
      'total' => $query->max_num_pages,
      'current' => $current_page,
    ) );
    wp_reset_postdata();
  } 
?>

Пагинация выводится правильно. Но ссылки не работают. То есть страницы 1-2-3 имеют ссылки "blog/2/3", при нажатии на них происходит редирект на blog. То есть страницы "/blog/2" нет. Не понимаю причину.

Answer 1

Оформлю в ответ, в комментах не очень удобно, каша получается. Протестил локально, так должно работать:

  $args = [
    'posts_per_page'=> 12,
    'category_name' => 'news',
    'paged'         => get_query_var( 'page' ),
  ];
  $query = new WP_Query( $args );
  if ( $query->have_posts() ) :
    while ( $query->have_posts() ) : $query->the_post(); ?>
      вывод html работает отлично
      <?php
    endwhile; 
    wp_reset_postdata();
    echo paginate_links( [
      'base'    => user_trailingslashit( wp_normalize_path( get_permalink() .'/%#%/' ) ),
      'total'   => $query->max_num_pages,
      'current' => max( 1, get_query_var( 'page' ) )
    ] );
  endif;
READ ALSO
Что такое Docker

Что такое Docker

Что такое докер и для чего он нужен? Во всех статьях про докер встречаются термины "имейдж" и "контейнер", что эти термины означают?

109
Блокировка при парсинге Bitrix PHP

Блокировка при парсинге Bitrix PHP

Пишу парсер для проекта, если коротко, то он собирает лист товаров с сайта на Bitrix, а после выводит нужную информацию

227
Как сделать возможность клиентам подключить свой домен к моему сервису

Как сделать возможность клиентам подключить свой домен к моему сервису

Подскажите, пожалуйстаЕсть сервис, который позволяет клиентам создавать свою страничку

111