PHP: Gunakan API WordPress untuk Membuat Kode Pendek untuk Membuat Daftar Subhalaman

WordPress PHP

Kami sedang mengerjakan implementasi yang cukup kompleks untuk klien perusahaan sekarang. Situs ini dibangun di WordPress tetapi memiliki banyak fitur. Seringkali, ketika saya melakukan jenis pekerjaan ini, saya ingin 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 dengan banyak informasi secara dinamis.

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 memiliki lowongan pekerjaan apa pun.

Jika ada pekerjaan yang diterbitkan (halaman anak), itu akan menerbitkan:

Daftar Pekerjaan:

Bagaimana menurut Anda?

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.