اضافه کردن pagination در وردپرس بدون افزونه
سیستم مدیریت محتوای وردپرس از گذشته تا به امروز میزبان وبسایت های محتوا محور بوده است که بتواند محتوای یک وبسایت را نمایش دهد.
مفهوم pagination به معنای صفحه ی بندی با شماره است که شما در هر صفحه تعدادی از محتوای خود را نشان می دهید برای بررسی محتوای بیشتر کاربر باید وارد صفحات دیگر شود.
البته اگر محتوای وبسایت شما به صورت ایجکسی و با اسکرول صفحه لود شود نیاز به pagination ندارید.
اگر نیاز به فعال کردن pagination در صفحات وبسایت وردپرسی خود دارید گاها به شما گفته می شود که افزونه یا پلاگین خاص این کار را نصب کنید اما در کل اگر پلاگین های کمتری فعال کنید از لحاظ سرعت و امنیت بهتر است.
در این نوشته به شما آموزش می دهیم تا بدون استفاده کردن پلاگین بتوانید pagination اضافه کنید.
همراه ما باشید…
اضافه کردن pagination در وردپرس بدون افزونه
برای اضافه کردن قابلیت pagination بدون نیاز به نصب و فعالسازی افزونه ای خاص مراحل زیر را دنبال کنید:
- ابتدا فایل functions.php قالب خود را باز کنید.
- کد زیر را به این فایل اضافه کنید :
function my_pagination() { if( is_singular() ) return; global $wp_query; if( $wp_query->max_num_pages <= 1 ) return; $paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1; $max = intval( $wp_query->max_num_pages ); if ( $paged >= 1 ) $links[] = $paged; if ( $paged >= 3 ) { $links[] = $paged - 1; $links[] = $paged - 2; } if ( ( $paged + 2 ) <= $max ) { $links[] = $paged + 2; $links[] = $paged + 1; } echo '<div class="pagination nav"><ul class="navbar" style="list-syle:none;">' . "\n"; if ( get_previous_posts_link() ) printf( '<li class="btn btn-primary text-light">%s</li>' . "\n", get_previous_posts_link() ); if ( ! in_array( 1, $links ) ) { $class = 1 == $paged ? ' class="active"' : ''; printf( '<li%s class="nav-item"><a class="btn btn-primary" href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( 1 ) ), '1' ); if ( ! in_array( 2, $links ) ) echo '<li>…</li>'; } sort( $links ); foreach ( (array) $links as $link ) { $class = $paged == $link ? ' class="active"' : ''; printf( '<li%s class="nav-item"><a class="btn btn-primary" href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $link ) ), $link ); } if ( ! in_array( $max, $links ) ) { if ( ! in_array( $max - 1, $links ) ) echo '<li class="nav-item btn btn-primary">…</li>' . "\n"; $class = $paged == $max ? ' class="active"' : ''; printf( '<li%s class="nav-item"><a class="btn btn-primary" href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $max ) ), $max ); } if ( get_next_posts_link() ) printf( '<li class="btn btn-primary text-light">%s</li>' . "\n", get_next_posts_link() ); echo '</ul></div>' . "\n"; }
- بعد از اضافه کردن کد بالا این فایل را ذخیره کنید.
- وارد بخشی که نیاز دارید pagination صفحات نمایش داده شود بروید؛ معمولا pagination در فایل index.php قرار دارد پس این فایل را برای ویرایش باز کنید و کد زیر را در محل مناسب بگذارید :
<?php echo my_pagination(); ?>
- خب حالا به سادگی شما یک pagination در وبسایت خود فعال کرده اید که نیازی به نصب و فعال کردن افزونه ای نداشت.
- پایان.!
راستی یه خبر خوش براتون داریم؛ یک دوره ی ویدیویی وردپرس به صورت رایگان برای شما کاربران عزیز تهیه شده است که از این لینک به آن دسترسی پیدا کنید.
منتظر نظرات و پیشنهادات شما برای محتوای سایت هستیم.
سلامت باشید.
عالی دوست عزیز ممنون از کمکتون
موفق باشید