Cara Membuat Pagination WordPress untuk Jenis Posting Kustom
Diterbitkan: 2020-02-24Membuat pagination untuk jenis posting kustom seharusnya tidak menjadi tantangan karena Anda dapat menggunakan kembali ide yang sama yang kami gunakan di sini – cara membuat pagination kueri kustom di WordPress. Kita perlu menanyakan jenis posting khusus kemudian menampilkan posting pertanyaan yang ada dalam jenis posting itu atau di beberapa jenis posting.
Dalam posting ini, saya akan menunjukkan cara membuat pagination WordPress untuk jenis posting kustom. Pagination akan mirip dengan pagination numerik ini. Kami akan membuat kueri khusus yang mendapatkan semua jenis kiriman khusus kemudian menampilkan jenis kiriman khusus dengan loop dan dengan nomor pagination.
Buat Jenis Posting Kustom
Langkah pertama adalah membuat jenis posting khusus menggunakan kode berikut:
/** * Jenis Posting Kustom - register_post_type() * @description- Njengah Tutorial Contoh Jenis Postingan Kustom * @link -https://gist.github.com/Njengah/839466b773085ac2430772e081357cee * */ add_action('init', "njengah_tutorial_cpt"); fungsi njengah_tutorial_cpt(){ $label = array( 'name' => _x('Tutorial', 'nama umum jenis posting'), 'singular_name' => _x('Tutorial', 'posting type singular name'), 'menu_name' => _x('Tutorial', 'menu admin'), 'name_admin_bar' => _x('Tutorial', 'tambah baru di bilah admin'), 'tambah_baru' => _x('Tambah Baru', ''), 'add_new_item' => __('Tambahkan tutorial baru'), 'edit_item' => __('Edit Tutorial'), 'new_item' => __('Tutorial Baru'), 'all_items' => __('Semua Tutorial'), 'view_item' => __('Lihat Tutorial'), 'search_items' => __('Search Tutorials'), 'not_found' => __('Tutorial tidak ditemukan'), 'not_found_in_trash' => __('Tidak ada Tutorial ditemukan di Sampah'), 'parent_item_colon' => __('Tutorial Induk:'), ); $args = array( 'hierarkis' => benar, 'labels' => $labels, 'publik' => benar, 'publicly_queryable' => benar, 'deskripsi' => __('Deskripsi.'), 'show_ui' => benar, 'show_in_menu' => benar, 'show_in_nav_menus' => benar, 'query_var' => benar, 'menulis ulang' => benar, 'query_var' => benar, 'menulis ulang' => array('siput' => 'tutorial'), 'capability_type' => 'halaman', 'has_archive' => benar, 'menu_position' => 22, "show_in_rest" => benar, 'mendukung' => array( 'judul', 'editor', 'penulis', 'thumbnail', 'komentar', 'revisi', 'halaman-atribut', 'bidang khusus') ); register_post_type('tutorial', $args); }
Tambahkan kode ini ke file functions.php Anda dan Anda akan melihat jenis posting kustom ' Tutorial' muncul di dashboard WordPress Anda.
Kode ini dapat diubah agar sesuai dengan jenis posting khusus Anda. Jenis kiriman khusus juga dapat dibuat menggunakan plugin pembuatan jenis kiriman khusus.
Buat Template Halaman untuk Menampilkan Jenis Posting Kustom
Kita perlu membuat template halaman kustom yang akan digunakan untuk menampilkan jenis posting kustom menggunakan loop WordPress.
Untuk membuat template halaman kustom, Anda harus membuat file baru di folder root tema Anda.
Beri nama file – custom -page.php atau nama lain yang menggambarkan jenis posting kustom, misalnya untuk jenis posting kustom yang dibuat di atas nama bisa menjadi tutorials-page.php.
Dalam file ini tambahkan tajuk templat halaman khusus menggunakan kode berikut dan simpan perubahannya:
<?php /** * Nama Template: Template Tutorial */ get_header();
Anda sekarang akan melihat templat halaman khusus terlihat di opsi templat atribut halaman Anda seperti yang ditunjukkan di bawah ini:
Buat Kueri Kustom Jenis Posting Kustom
Kueri kustom adalah langkah pertama yang memungkinkan kita untuk mengkueri jenis posting kustom yang ada dan menampilkannya pada template halaman kustom yang kita buat pada langkah sebelumnya.
Berikut ini adalah kode yang akan menanyakan jenis posting kustom tutorial dan mengambil dua posting pertama kemudian menampilkannya pada template halaman kustom yang kami buat di atas.
<?php /** * Nama Template: Template Tutorial */ get_header(); // Langkah 1: Buat Kueri Kustom $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ): 1; $args = array( 'posts_per_page' => 2,// kueri 2 postingan terakhir 'post_type' => 'tutorial', 'paged' => $paged ); $customPostQuery = new WP_Query($args); ?>
Tampilkan Posting Kustom Tutorial di Template Halaman Kustom
Berikut ini adalah kode yang akan menanyakan jenis posting khusus dan menampilkannya di templat halaman khusus:
<?php /** * Nama Template: Template Tutorial */ get_header(); // Langkah 1: Buat Kueri Kustom $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ): 1; $args = array( 'posts_per_page' => 2,// kueri 2 postingan terakhir 'post_type' => 'tutorial', 'paged' => $paged ); $customPostQuery = new WP_Query($args); ?> <!-- Langkah 2: Tampilkan Postingan yang Kita Kueri pada Langkah 1 --> <div class="bungkus"> <div id="utama" class="content-area"> <main id="main" class="site-main" role="main"> <?php if($customPostQuery->have_posts() ): while($customPostQuery->have_posts()) : $customPostQuery->the_post(); global $postingan; ?> <div class ="inner-content-wrap"> <ul class ="cq-posts-list"> <li> <h3 class ="cq-h3"><a href="<?php the_permalink(); ?>" ><?php the_title(); ?></a></h3> <div> <ul> <div> <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail'); ?></a> </div> </ul> <ul> <p><?php echo the_content(); ?></p> </ul> </div> </li> </ul> </div> <!-- akhiri entri blog --> <?php akhir; berakhir jika; wp_reset_query();
Buat Fungsi Pagination Posting Kustom WordPress
Pada langkah ini, kita sekarang harus membuat fungsi pagination tipe posting kustom yang akan ditambahkan ke fungsi tema dan akan dipanggil setelah loop menampilkan tipe posting kustom.
Kode berikut harus ditambahkan ke functions.php untuk membuat fungsi pagination tipe posting kustom.
// Fungsi pagination jenis posting kustom fungsi cpt_pagination($pages = '', $range = 4) { $showitems = ($kisaran * 2)+1; halaman $ global; if(empty($paged)) $paged = 1; if($halaman == '') { global $wp_query; $halaman = $wp_query->max_num_pages; jika(!$halaman) { $halaman = 1; } } jika(1 != $halaman) { echo "<nav aria-label='Contoh navigasi halaman'> <ul class='pagination'> <span>Halaman ".$paged." dari ".$pages."</span>"; if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>« Pertama</a>"; if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>‹ Sebelumnya</a>"; untuk ($i=1; $i <= $halaman; $i++) { if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )) { echo ($halaman == $i)? "<li class=\"page-item active\"><a class='page-link'>".$i."</a></li>":"<li class='page-item' > <a href='".get_pagenum_link($i)."' class=\"page-link\">".$i."</a></li>"; } } if ($paged < $pages && $showitems < $pages) echo " <li class='page-item'><a class='page-link' href=\"".get_pagenum_link($paged + 1)." \">i class='flaticon flaticon-back'></i></a></li>"; if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo " <li class='page-item'><a class='page-link' href=' ".get_pagenum_link($pages)."'><i class='flaticon flaticon-arrow'></i></a></li>"; echo "</ul></nav>\n"; } }
Panggil Fungsi Pagination Jenis Posting Kustom di Template Halaman
Karena kita telah membuat fungsi paginasi jenis kiriman khusus dan kita telah menjalankan loop dan menampilkan jenis kiriman khusus, sekarang kita perlu menambahkan fungsi paginasi di bagian bawah templat halaman khusus sehingga kita dapat menampilkan paginasi.
Berikut ini adalah kode yang harus digunakan untuk memeriksa apakah ada fungsi custom post pagination dan jika ya, kita harus memanggilnya untuk menampilkan pagination
// Langkah 3: Panggil Fungsi Pagination Di Sini if (function_exists("cpt_pagination")) { cpt_pagination($customPostQuery->max_num_pages); }
Kami telah membuat jenis kiriman khusus, templat halaman khusus, menambahkan fungsi paginasi jenis kiriman khusus dan menampilkan kedua jenis kiriman khusus dengan kueri dan fungsi paginasi jenis kiriman khusus.
Gaya Pagination Jenis Posting Kustom
Anda perlu menambahkan gaya ke pagination jenis posting kustom menggunakan kode berikut:
/** * Gaya Pagination Jenis Posting Kustom * @penulis Joe Njenga */ .paginasi { jelas: keduanya; posisi: relatif; ukuran font:16px; tinggi garis:13px; mengapung:kanan; list-style-type:none; lebar: 100% } .pagination span, .pagination a { tampilan: blok; mengapung: kiri; margin: 2px 2px 2px 0; bantalan:6px 9px 5px 9px; dekorasi teks: tidak ada; lebar: otomatis; warna:#ff; latar belakang: #237697; } .pagination a:hover{ warna:#ff; latar belakang: #000; } .pagination .current{ bantalan:6px 9px 5px 9px; latar belakang: #999; warna:#ff;
Kami siap untuk melihat hasil dari kode ini. Untuk melihat pagination jenis posting kustom, Anda perlu membuat halaman baru dengan template halaman kustom yang kami buat pada langkah kedua.
Setelah membuat halaman ini, Anda akan melihat halaman yang menampilkan jenis posting khusus yang kami tanyakan dan pagination yang kami buat seperti yang ditunjukkan pada gambar di bawah ini:
Pikiran Akhir
Untuk membuat pagination jenis posting kustom, Anda perlu membuat template halaman kustom, menambahkan kueri kustom untuk mendapatkan semua posting kustom yang ingin Anda tampilkan dan memanggil fungsi pagination kustom yang Anda tambahkan ke functions.php. Untuk mendapatkan kode lengkap ini saya telah menambahkannya ke git repo dan Anda dapat mengaksesnya di sini – WordPress Custom Post Type Pagination.