PHP: Gunakan API WordPress untuk Membina Kod Pendek untuk Menyenaraikan Sub-Halaman
Kami sedang mengusahakan pelaksanaan yang cukup kompleks untuk klien perusahaan sekarang. Laman web ini dibina di WordPress tetapi mempunyai banyak loceng dan wisel. Selalunya, semasa saya melakukan kerja jenis ini, saya ingin menyimpan kod tersuai untuk diguna semula kemudian di laman web lain. Dalam kes ini, saya fikir ia adalah fungsi yang berguna, saya mahu membaginya dengan dunia. Kami menggunakan Tema WordPress Avada dengan Fusion Page Builder sebagai tema ibu bapa, dan menggunakan sedikit kod tersuai dalam tema anak kita.
WordPress sudah mempunyai beberapa fungsi dalam APInya yang dapat digunakan untuk menyenaraikan sub halaman, seperti wp_list_pages dan get_pages. Masalahnya ialah mereka tidak memberikan maklumat yang mencukupi jika anda berharap dapat membuat senarai dengan banyak maklumat secara dinamis.
Untuk pelanggan ini, mereka ingin menyiarkan perihal pekerjaan dan membuat senarai peluang pekerjaan secara automatik dihasilkan mengikut susunan menurun pada tarikh penerbitan mereka. Mereka juga ingin memaparkan petikan halaman.
Jadi, pertama, kita harus menambahkan sokongan petikan ke templat halaman. Dalam functions.php untuk tema mereka, kami menambah:
add_post_type_support ('halaman', 'petikan');
Kemudian, kami perlu mendaftarkan kod pendek khusus yang akan menghasilkan senarai halaman kecil, pautan ke halaman tersebut, dan petikan untuknya. Lakukan ini, kita mesti menggunakan Loop WordPress. Dalam functions.php, kami menambah:
// Subpages List dalam fungsi List 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' ,); $ induk = WP_Query baru ($ args); if ($ parent-> have_posts ()) {$ string. = $ kandungan. ' '; sementara ($ induk-> has_posts ()): $ induk-> the_post (); $ tali. = ' '.get_the_title ().' '; if (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } rentetan $. = ' '; akhir sekali; } lain {$ string = ' $. atts ['ifempty']. ' '; } wp_reset_postdata (); pulangkan rentetan $; } add_shortcode ('list_subpages', 'dknm_list_child_pages');
Kini, kod pendek boleh dilaksanakan di seluruh laman web untuk menunjukkan halaman kanak-kanak dengan pautan dan petikan. Penggunaan:
[list_subpages aclass = "button" ifempty = "Maaf, buat masa ini kami tidak mempunyai pekerjaan."] Senarai Pekerjaan [/ list_subpages]
Hasilnya adalah senarai pekerjaan yang diterbitkan yang bersih dan tidak tersusun, yang merupakan halaman kanak-kanak di bawah halaman kerjaya mereka.
Sekiranya tidak ada pekerjaan yang diterbitkan (tidak ada halaman anak), ia akan menerbitkan:
Maaf, buat masa ini kami tidak mempunyai peluang pekerjaan.
Sekiranya terdapat pekerjaan yang diterbitkan (halaman kanak-kanak), ia akan menerbitkan:
Senarai Pekerjaan:
- Halaman Anak Terkini - Petikan dari Halaman Anak
- Halaman Anak Seterusnya - Petikan dari Halaman Anak
- Halaman Anak Seterusnya - Petikan dari Halaman Anak