get_template_partタグを使うと、MTのモジュールインクルードのように、特定のパーツをテンプレートのパーツとして作成し、それをテンプレートに読み込ませることができます。Widgetやメニュー以外でパーツを読み込むときにとても便利です。
これも使い方はいたってカンタン。たとえば広告を表示するパーツ部分をad.phpとして作成し、テーマフォルダ内にアップロード。そしてこれを表示したいテンプレート内に
<?php get_template_part( 'ad' ); ?>
とすれば、そこにad.phpの内容が表示されます。
get_template_partは引き数を二つ取ります。
get_template_part( $slug, $name );
で、ひとつ目の slug は必須で、読み込むパートファイルのスラッグ、つまりファイル名ですね。二つ目の name は任意で、ファイル名の名前の指定です。
たとえばad.phpの他に、幅640ピクセルのバナー広告用のad-640.phpというパーツテンプレートを作ったとします。この場合は
<?php get_template_part( 'ad', '640' ); ?>
とします。ad-640.phpのスラッグ名の後ろのハイフン以降を name として認識します。
じゃあ、
<?php get_template_part( 'ad-640' ); ?>
とどう違うのか、ということですが、スラッグとして ad-640 を指定した場合は、ad-640.phpがあれば読み込み、なければなにもせずに終了。
しかしスラッグをad, 名前を640とした場合は、ad-640.phpをまず検索し、見つかれば表示し、見つからなかった場合は、名前抜きのad.phpを探し、これがあれば表示します。
具体的にどういうシチュエーションで使うと効果的なのは、すぐには思いつきませんが、パーツにバリエーションをもたせる場合は、ベースのパーツを作って、バリエーションはその「スラッグ-名前.php」で作っておくと、管理面や、何かのときにバリエーションが表示できなくなってもベースが最低限表示される、という保険はかけられるように思います。
最近のコメント