Menurut saya keduanya memberikan kesempatan bagi pengguna akhir untuk memodifikasi tema tanpa benar-benar mengedit file tema (via tema anak).
Pertanyaan saya adalah, apakah satu metode lebih disukai daripada yang lain.
Sebagai contoh, ambil tema yang sedang saya kerjakan sekarang. Saya mencoba memutuskan apakah akan menggunakan bagian templat dari kait.
<?php get_template_part('before_sitecontainer' ); ?>
<div id="sitecontainer" class="sitecontainer" <?php //closed in footer ?>>
<?php get_template_part( 'before_topcontainer' ); ?>
<div id="topcontainer ">
<?php get_template_part( 'before_topedge_navigation' ); ?>
<?php get_template_part( 'topedge_navigation' ); ?>
<?php get_template_part( 'before_site_header' ); ?>
<?php get_template_part( 'site_header' ); ?>
<?php get_template_part( 'before_second_navigation' ); ?>
<?php get_template_part( 'second_navigation' ); ?>
<?php get_template_part( 'after_second_navigation' ); ?>
</div><!-- end topcontainer div -->
<?php get_template_part( 'after_topcontainer' ); ?>
Di atas memungkinkan pengguna tema untuk mengganti bagian mana pun dari kode yang ada dengan hanya membuat file yang sesuai nama dalam folder tema anak mereka serta menambahkan kode baru sebelum / sesudah setiap bagian yang sudah ada dengan metode yang sama - template sebelum / sesudah file bagian tidak ada dalam tema induk sama sekali dan apakah ada hanya untuk memungkinkan mereka untuk memasukkan kode - dan metode ini tidak mengharuskan mereka memahami kait / filter untuk mencapai ini.
Tentu saja saya dapat mencapai hal yang sama menggunakan kait dan filter.
Apakah ada keuntungan menggunakan kait / filter sebagai gantinya? Mengingat audiens target yang akan menggunakan ini jelas tidak memahami kode. Saya bisa memberi mereka instruksi yang relatif dasar yang dapat mereka ikuti untuk menggunakan metode template tetapi hampir pasti akan membingungkan iblis dari mereka dengan kait.
Atau ada situasi di mana satu akan lebih baik dari yang lain dalam tema yang sama?
Saya akan mengatakan bahwa perbedaan utama adalah keterbacaan. Jika Anda melihat beberapa bagian templat yang bernama baik, Anda dapat memahami apa yang terjadi dengan mudah. Jika Anda hanya melihat sebuah kait, Anda perlu mencari melalui sisa tema untuk menentukan apa yang melekat pada hook.
sumber
Ini (relatif) mudah untuk menghapus fungsi dari tema hook in child, tetapi jauh lebih sulit untuk membuatnya mengabaikan templat induk yang tidak diinginkan.
Pada dasarnya bekerja dengan kait lebih dekat ke sisi PHP dan bekerja dengan template lebih dekat ke sisi HTML. Saya menggunakan tema induk Hybrid, yang sangat berorientasi pada kait. Ini adalah kebahagiaan yang tepat sampai Anda perlu menyingkirkan template beberapa orangtua.
Bagi pengguna yang tidak mengerti teknologi juga bukan pilihan yang sangat bagus. Mengapa mereka harus mengacaukan tema internal seperti itu?
PS juga mencatat masalah kinerja. Hal-hal dengan kait terjadi dalam memori, hal-hal dengan template membutuhkan banyak pencarian disk. Terutama jika Anda menulis sesuatu seperti dalam contoh Anda.
PPS bukan preferensi semua orang ... tetapi alih-alih menulis tema induk dari awal mengapa tidak mengambil tema induk yang ada dan memberikan tema anak yang sederhana kepada pengguna?
sumber