どちらも、エンドユーザーがテーマファイルを実際に編集することなく(子テーマを介して)テーマを変更する機会を与えてくれるように思えます。
私の質問は、他の方法よりも好ましい方法です。
たとえば、現在取り組んでいるテーマを取り上げます。フックのテンプレート部分を使用するかどうかを決定しようとしています。
<?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' ); ?>
上記により、テーマのユーザーは、子テーマフォルダーに適切な名前のファイルを作成するだけでなく、同じ方法で既存の各セクションの前後に新しいコードを追加することで、既存のコードのセクションを置き換えることができます-before / afterテンプレートパーツファイルは親テーマにはまったく存在せず、単にコードを挿入できるようにするためだけに存在します。この方法では、フック/フィルターを理解してこれを実現する必要はありません。
もちろん、フックとフィルターを使用して同じことを達成できます。
代わりにフック/フィルターを使用する利点はありますか?これを使用するターゲットオーディエンスは、明らかにコードに精通しているわけではありません。テンプレートメソッドを使用するために従うことができる比較的基本的な指示を与えることができますが、フックで悪魔を混乱させることはほぼ確実です。
または、同じテーマ内で一方が他方より優れている状況はありますか?