PHP: Gunakan API WordPress untuk Membuat Kode Pendek untuk Membuat Daftar Subhalaman
Kami sedang mengerjakan implementasi yang cukup kompleks untuk klien perusahaan saat ini. Situs ini sedang dibangun di WordPress tetapi memiliki banyak lonceng dan peluit. Seringkali, ketika saya melakukan pekerjaan jenis ini, saya suka menyimpan kode khusus untuk digunakan kembali nanti di situs lain. Dalam hal ini, saya pikir itu adalah fungsi yang sangat berguna, saya ingin membaginya dengan dunia. Kami menggunakan Tema Avada WordPress dengan Fusion Page Builder sebagai tema induk, dan menerapkan cukup banyak kode khusus di tema anak kita.
WordPress sudah memiliki beberapa fungsi dalam API-nya yang dapat digunakan untuk membuat daftar subhalaman, seperti wp_list_pages dan get_pages. Masalahnya adalah mereka tidak mengembalikan informasi yang cukup jika Anda berharap untuk membuat daftar secara dinamis dengan banyak informasi.
Untuk pelanggan ini, mereka ingin memposting deskripsi pekerjaan dan daftar lowongan pekerjaan secara otomatis dibuat dalam urutan menurun pada tanggal publikasi mereka. Mereka juga ingin menampilkan kutipan halaman.
Jadi, pertama-tama, kami harus menambahkan dukungan kutipan ke templat halaman. Di functions.php untuk temanya, kami menambahkan:
add_post_type_support ('page', 'excerpt');
Kemudian, kami perlu mendaftarkan kode pendek khusus yang akan menghasilkan daftar subhalaman, tautan ke sana, dan kutipannya. Lakukan ini, kita harus menggunakan file WordPress Loop. Di functions.php, kami menambahkan:
// Buat Daftar Subhalaman dalam fungsi Daftar dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (array ('ifempty' => 'No Records', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'page', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'publish_date', 'order' => 'DESC' ,); $ parent = new WP_Query ($ args); if ($ parent-> have_posts ()) {$ string. = $ content. ' '; while ($ parent-> have_posts ()): $ parent-> the_post (); $ string. = ' '.get_the_title ().' '; if (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ string. = ' '; sementara; } lain {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); return $ string; } add_shortcode ('list_subpages', 'dknm_list_child_pages');
Sekarang, kode pendek dapat diterapkan di seluruh situs untuk menampilkan halaman anak dengan tautan dan kutipan. Pemakaian:
[list_subpages aclass = "button" ifempty = "Maaf, saat ini kami tidak memiliki lowongan pekerjaan."] Daftar Pekerjaan [/ list_subpages]
Hasilnya adalah daftar pekerjaan yang diterbitkan dan rapi dan bersih, yang merupakan halaman turunan di bawah halaman karir mereka.
Jika tidak ada pekerjaan yang diterbitkan (tidak ada halaman anak), itu akan menerbitkan:
Maaf, saat ini kami tidak membuka lowongan pekerjaan.
Jika ada pekerjaan yang diterbitkan (halaman anak), itu akan menerbitkan:
Daftar Pekerjaan:
- Halaman Anak Terbaru - Kutipan dari Halaman Anak
- Halaman Anak Berikutnya - Kutipan dari Halaman Anak
- Halaman Anak Berikutnya - Kutipan dari Halaman Anak