Bagaimana membuat get_template_part selalu memeriksa tema anak terlebih dahulu?


8

Bagaimana saya bisa memaksa WP untuk selalu memeriksa folder tema anak terlebih dahulu saat menjalankan get_template_part?

Contoh: tema anak dimuat get_template_part('content', 'inventory')di single.php. Karena semua tema anak (dan ada banyak) berbagi basis templat inventaris bersama yang sama, file content-inventory.phptersebut ada dalam tema induk. Sejauh ini bagus.

Saya ingin menambahkan bagian kecil ke templat inventaris yang akan unik untuk setiap tema anak. Menambahkan get_template_part('content', 'inventory-special')ke content-inventory.phptidak akan memeriksa direktori tema anak terlebih dahulu.


3
Kepada kalian berdua yang memilih saya sebagai jawaban dan tidak berkomentar mengapa, terima kasih untuk apa pun. Bagaimana seseorang bisa memperbaiki diri dengan kritik negatif?
m-torin

Jawaban:


5

Ya, secara default. The get_template_part()penggunaan fungsi locate_template()yang cascades melalui file template di dalam rangka kekhususan dan stylesheetpath / templatepath.

Jadi, jika Tema Anak Anda menyertakan a content-inventory.php, maka get_template_part()akan memasukkannya; jika tidak, maka akan dicari content-inventory.phpdi Theme induk. Jika tidak menemukannya, maka akan dicari content.phpterlebih dahulu pada anak, kemudian pada orang tua.

EDIT:

Cobalah memahami apa yang Anda maksud; tolong jelaskan jika saya salah paham ...

Anda ingin memasukkan file bagian templat baru dalam file templat Tema Induk yang disebut content-inventory.php, kan?

Satu-satunya cara, AFAIK, yang dapat Anda lakukan adalah menyalin content-inventory.phpke Tema Anak Anda , dan kemudian menambahkan get_template_part()panggilan baru di mana diperlukan.

Jika sebuah file bernama content-inventory.phptermasuk dalam kedua Orang Tua dan Theme anak, maka WordPress akan selalu menggunakan Anak Tema versi, jika termasuk menggunakan get_template_part().


@Kaiser, @Chip Bennett: WP jelas akan memeriksa tema induknya content-inventory.php. Codex dan pengalaman sederhana membuatnya menjadi jelas. Namun jika file yang dicari (level 2) ada di folder tema induk, WP tidak memeriksa ulang tema anak untuk yang get_template_partterkandung dalam file yang dicari (termasuk lapis ketiga). Apakah ini bekerja secara berbeda untuk Anda?
m-torin

Saya tidak mengerti pertanyaan / masalah Anda. Untuk nama file templat apa pun yang diberikan, WordPress selalu memeriksa Tema Anak terlebih dahulu . Bisakah Anda menjelaskan apa yang Anda maksud dengan file lapis kedua dan ketiga?
Chip Bennett

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.