آموزش قرار دادن صفحه بندی مطالب در وردپرس

How to Use WP Query to Create Pagination in WordPress - آموزش قرار دادن صفحه بندی مطالب در وردپرس

صفحه بندی مطالب در وردپرس با استفاده از افزونه و بدون افزونه

یکی از مواردی که شاید خیلی به اون توجه نکنید استفاده استاندارد از صفحه بندی در وردپرس هست. در این آموزش به شما یاد میدم چطور صفحه بندی مطالب را با استفاده از فریم ورک بوت استرپ به راحتی و به طور حرفه ای در قالب وردپرسی خود قرار دهید برای این آموزش از افزونه wp-pagenavi و از توابع وردپرس برای مدل بدون افزونه آن استفاده شده است.

آموزش تبدیل شماره صفحات بوت استرپ به وردپرس

استفاده از Pagination یا شماره صفحات در وردپرس یکی از موارد الزامی است. اگر به نحوه ی کدنویسی فریم ورک بوت استرپ در بخش Pagination دقت کنید نیاز به یکسری تغییرات در ساختار افزونه شماره صفحات داریم.

در صورتی که از افزونه wp-pagenavi برای ایجاد شماره صفحات در وردپرس استفاده می کنید. کافیست از فیلتر زیر در وردپرس استفاده کنید به عبارتی ما فانکشن این افزونه را با استفاده از فیلتر در توابع وردپرس تغییر کوچکی میدهیم تا بتوانیم از آن استفاده کنیم :

add_filter( 'wp_pagenavi', 'ik_pagination', 10, 2 );

//customize the PageNavi HTML before it is output
function ik_pagination($html) {
$out = '';
//wrap a's and span's in li's
$out = str_replace("<div","",$html);
$out = str_replace("class='wp-pagenavi'>","",$out);
$out = str_replace("<a","<li><a",$out);
$out = str_replace("</a>","</a></li>",$out);
$out = str_replace("<span","<li><span",$out);
$out = str_replace("</span>","</span></li>",$out);
$out = str_replace("</div>","",$out);

return '<ul class="pagination pagination-centered">'.$out.'</ul>';
}

bootstrap pagination plugin wordpress - آموزش قرار دادن صفحه بندی مطالب در وردپرس

اگر شما یک توسعه دهنده وردپرس هستید .می توانید برای استفاده اصولی از بوت استرپ در تابع paginate_links بصورت زیر استفاده کنید :

<?php
global $wp_query;
$current = max( 1, absint( get_query_var( 'paged' ) ) );
$pagination = paginate_links( array(
	'base' => str_replace( PHP_INT_MAX, '%#%', esc_url( get_pagenum_link( PHP_INT_MAX ) ) ),
	'format' => '?paged=%#%',
	'current' => $current,
	'total' => $wp_query->max_num_pages,
	'type' => 'array',
	'prev_text' => '«',
	'next_text' => '»',
) ); ?>
<?php if ( ! empty( $pagination ) ) : ?>
<nav aria-label="Page navigation">
    <ul class="pagination">
        <?php foreach ( $pagination as $key => $page_link ) : ?>
        <li class="page-item<?php if ( strpos( $page_link, 'current' ) !== false ) { echo ' active'; } ?>">
            <?php echo str_replace( 'page-numbers', 'page-link', $page_link);  ?></li>
        <?php endforeach ?>
    </ul>
</nav>
<?php endif ?>

در مثال بالا من شماره صفحات، کوئری اصلی وردپرس (Wp_Query WordPress) رو به وسیله تابع paginate_links نشان دادم. دقیقا همان کاری که افزونه wp-pagenavi انجام می دهد. اما شما می توانید از این تابع در هر Pagination که در مدیریت وردپرس یا چه در افزونه ایجاد میکنید استفاده نمایید.

پیشنهاد من استفاده از تابع بالا هست شما برنامه نویسان و طراحان وب میتوانید آن را به صورت یک تابع در فایل functions.php قالب خود تعریف کنید و هر جا که خواستید آن را فراخوانی نمایید

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.