Как сделать пагинацию для произвольного типа записи в Wordpress?

ПРЕДПОСЫЛКИ:

  1. Я создал сообщение типа «сравнение».
  2. Я создал архивную страницу только для типа сообщения «сравнение».

ЗАДАЧА: Мне нужно создать пагинацию на странице архива «сравнения».

ПРОБЛЕМА: я пытался использовать <?php echo paginate_links(); ?>, но это не работает, пожалуйста, помогите.


person Владислав Загородний    schedule 10.05.2021    source источник
comment
Пожалуйста, проведите небольшое исследование, прежде чем приходить сюда спрашивать. Название вашего вопроса, дословно введенное в Google, привело бы вас к stackoverflow.com/questions/41738362/ уже.   -  person CBroe    schedule 10.05.2021


Ответы (1)


Попробуйте следующий код

$query = new WP_Query( 
    array(
        'posts_per_page'=>30,
        'post_type'=>'comparison',
        'paged' => get_query_var('paged') ? get_query_var('paged') : 1
    ) 
); 
?>
<?php while ($query -> have_posts()) : $query -> the_post(); ?>
//your code
endwhile;
$total_pages = $query->max_num_pages;
if ($total_pages > 1){
    $big = 999999999; // need an unlikely integer
    echo paginate_links( array(
        'base' => str_replace( $big, '%#%', get_pagenum_link( $big ) ),
        'format' => '?paged=%#%',
        'current' => max( 1, get_query_var('paged') ),
        'total' => $query->max_num_pages
    ) );
}
wp_reset_postdata();
person rajat.gite    schedule 10.05.2021