WordPressで自作のファイルを共通パーツとして読み込む方法

WordPressのヘッダーやフッターなどの共通部分を別々のファイルで作成して、読み込む方法の備忘録です。
通常のモジュールテンプレートとして使用される「header.php」や「footer.php」などのファイル以外に、共通部分に使用するパーツを別ファイルで作成して読み込みます。
モジュールテンプレートの読み込み
通常のテンプレートファイル以外に共通部分を記載した自作のファイルを読み込む方法です。
例えば、お問合せフォームを表示する「contact.php」ファイルを、「page.php」や「single.php」に読み込むことで、固定ページや投稿に共通のお問合せフォームを設置することができます。
「contact.php」を読み込むために、テンプレートファイル内の該当箇所に以下のコードを記述します。
get_template_part('contact');
get_template_part()
関数を使って「contact.php」を読み込みます。「contact」部分に読み込むファイル名を記述します。
引数を使った読み込み
通常のテンプレートファイルを読み込む関数に、引数を設定して別のファイルを読み込む方法です。
例えば以下のコードでは、ヘッダーを読み込むget_header()
関数に引数を設定することで「header.php」ではなく、「header-member.php」を読み込みます。
get_header('member');
引数に読み込むファイル名「header-name.php」の「name」部分を設定します。
get_footer()
やget_sidebar()
でも同様に引数を設定してファイルを読み込むことができます。
条件分岐による使い分け
条件分岐を併用することで、テンプレートファイル内で読み込むファイルを分岐させることができます。
例えば以下のコードでは、通常の固定ページでは「header.php」を読み込み、お問合せページでは「header-contact.php」を読み込む分岐を設定しています。
if (is_page('contact')) :
get_header('contact');
else :
get_header();
endif;
is_page('contact')
でスラッグを「contact」に設定したお問合せ用の固定ページに「header-contact.php」を読み込むように分岐しています。