در این قسمت روش صفحه بندی و نمایش لینک به صفحات مختلف برای پست ها در قالب وردپرس از انواع مختلف (post-type های مختلف) را آموزش می دهیم.

وردپرس دارای یک تابع بنام the_posts_pagination است که برای پست ها از نوع post استفاده می شود، حال اگر پست تایپ های دیگری مثلاٌ محصولات (product ) در افزونه  ووکامرس یا دانلود (download ) در افزونه EDD استفاده می کنید یا خودتان پست تایپ دلخواهی اضافه کرده اید و می خواهید برای آنها صفحه بندی داشته باشید

از قطعه کد زیر استفاده کنید:

برای نمایش پست ها با post-type دلخواه از کلاس WP_Query استفاده کنید . و شی WP_Query را برای صفحه بندی استفاده کنید و در ادامه با کمک تابع paginate_links لینک های صفحات را تولید کنید:

<?php
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'download',
'paged' => $paged,
'posts_per_page' => '12',
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) : ?>
<div class="row">
<?php
while($query->have_posts()) : $query->the_post(); ?>
<div class="col-md-4 col-sm-6" >
<?php //code for show post ?>
</div>
<?php endwhile; ?>
</div>
<?php
$total_pages = $query->max_num_pages;
if ($total_pages > 1){
$current_page = max(1, get_query_var('paged'));
echo paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => '/page/%#%',
'current' => $current_page,
'total' => $total_pages,
'prev_text' => __('« صفحه قبل'),
'next_text' => __('صفحه بعد »'),
));
}
endif; ?>

نمایش قابل چاپ