Belajar WordPress: Pagination Halaman tanpa Plugin

WP-PageNavi mungkin salah satu plugin pagination yang saat ini dipakai oleh banyak pengguna WordPress. Namun tahukah anda, sejak versi 2.1 sebenarnya WordPress telah mendukung pagination-nya sendiri dengan fungsi pagination_links(). Pada tutorial kali ini kita akan belajar bagaimana membuat pagination di WordPress tanpa menggunakan plugin.

Contoh Skrip

Perhatikan dan coba skrip berikut jika perlu:

global $wp_query;
$total = $wp_query->max_num_pages;
// only bother with the rest if we have more than 1 page!
if ( $total > 1 )  {
     // get the current page
     if ( !$current_page = get_query_var('paged') )
          $current_page = 1;
     // structure of "format" depends on whether we're using pretty permalinks
     $format = empty( get_option('permalink_structure') ) ? '&page=%#%' : 'page/%#%/';
     echo paginate_links(array(
          'base' => get_pagenum_link(1) . '%_%',
          'format' => $format,
          'current' => $current_page,
          'total' => $total,
          'mid_size' => 4,
          'type' => 'list'
     ));
}

Penjelasan:
– Skrip diatas menggunakan query bawaan WordPress yaitu WPQuery,
– Dihitung dulu jumlah halaman total, simpan pada variabel $total,
– Jika jumlah halaman > 1, baru skrip ini berlaku,
– Tentukan variabel ‘halaman saat ini’ dalam variabel $current_page jika $current_page tidak merupakan hasil dari get_query_var(‘paged’) atau berupa halaman,
– tentukan format link dan permalink dari pagination, taruh pada variabel $format,
– tulis fungsi pagination_links() yang berisi array konfigurasi pagination seperti format, halaman saat ini, total halaman, lebar pagination dan tipe pagination.

Selamat mencoba…

Wagiman Wiryosukiro

Petani Sistem Informasi, tukang las plugin & themes Wordpress. Co-Founder SistemInformasi.biz. Saat ini aktif sebagai Developer & kontributor di OpenMandriva Linux.

You may also like...

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: