web-dev-qa-db-ja.com

すべてのテンプレートで自動get_headerとget_footer

Templateの最初にget_header()を、最後にget_footer()を自動的に実行する方法はありますか?

現在、私のコードはこれらの呼び出しに対して繰り返しが多すぎます。

私はこれを実行する方法を探していましたが、私はGoogleでそれを見つけることができません。

7
hrsetyono

wp-includes/template-loader.phpを見ると…

if ( $template = apply_filters( 'template_include', $template ) )
    include( $template );

あなたはそのフィルタにフックし、コールバック関数でインクルードを処理し、FALSEを返すことができます。

テストされていないサンプルコード

add_filter( 'template_include', function( $template ) {

    get_header();
    include $template;
    get_footer();

    return FALSE;
});
11
fuxia

@scribu は、彼が テーマラッパー と呼ぶWordPressテンプレートのコードの繰り返しを減らす方法を提案しています。 ルーツのテーマ は、このメソッドのわずかに変更された バージョンを使用します

3
Emzo