上書きしたテンプレートから、上書きした header.phpを読みたい

0
いいねをした人: 居ません
6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • 投稿者
    投稿
  • #59908
    谷口 允
    参加者
    21

    こちら、以下のような形で my-snowmonkey内に front-page.phpを作成してトップページをオリジナルのテンプレートにしました。

    ここまではうまく行ったのですが、ヘッダーとフッターも変えようと、header.php / footer.phpを作り、front-page.phpからは「get_header()」を呼び出してみたのですが、ここで作った header.phpは呼び出されずに Snow Monkey標準のヘッダーが呼び出されているようです。

    ここで、オリジナルのヘッダーを呼ぶには、どのような手順を踏んだら良いでしょうか? 教えて頂けると幸いです。

    0
    いいねをした人: 居ません
    #59915
    Kmical Lights
    閲覧者
    234
    add_filter(
    	'snow_monkey_template_part_root',
    	function( $root, $slug, $name, $vars ) {
    		return MY_SNOW_MONKEY_PATH . '/view';
    	},
    	10, // 正常に動作しない場合、優先度を調整して対応
    	4
    );

    で、プラグインのviewディレクトリをテンプレートパーツのルートディレクトリ配列に追加します。
    それで、テーマの先にプラグインのviewディレクトリに置いたファイルを代わりに読まれるようになります。(子テーマの上書きみたいな事がプラグインでできます)
    snow_monkey_template_part_root_(slug)のようなフックもありますが、この場合はややこしくなるので割愛します。

    そして、テンプレートを独自の箇所で読み込みたい場合は get_header などを使わず、

    My Snow Monkey の
    define( 'MY_SNOW_MONKEY_PATH' ....
    の次の行に

    use Framework\Helper;

    を追加した上で、テンプレートを読み込みたい箇所に
    Helper::get_template_part( 'header' );
    を記述すれば、その箇所で該当のテンプレートファイルが読まれると思います。
    この読み込み方をすると snow_monkey_template_parts_**** などのフックも該当のテンプレートに対して変わらずに使用できます。

    お試しください。

    1
    いいねをした人: 居ません
    #59917
    キタジマ タカシ
    参加者
    2227

    @Kmical Lights さん

    snow_monkey_template_part_root もまだ動きはしますが、snow_monkey_template_part_root_hierarchy 推奨です!

    @谷口さん

    Kmical Lights さんが書かれているとおりで、My Snow Monkey に配置したテンプレートを読ませるために、Snow Monkey では標準のテンプレートタグをラップした独自のテンプレートタグが用意されています。

    header.php の場合だと

    \Framework\Helper::get_header();
    

    普通のテンプレートなら

    \Framework\Helper::get_template_part();
    

    です。これらに書き換えてみてもらえればと思います!

    0
    いいねをした人: 居ません
    #59928
    Kmical Lights
    閲覧者
    234

    @キタジマさん
    あ…… _hierarchy を書いてたつもりが抜けてました…(たまにやるミス)

    フック一覧も、非推奨になったフックは非推奨のエリアに分けてまとめた方が良いのかなー…(余談

    0
    いいねをした人: 居ません
    #59982
    谷口 允
    参加者
    21

    ありがとうございます! get_header()などは利用できないのですね。ラップ関数を使っていきます!

    2
    いいねをした人: 居ません
    #59984
    キタジマ タカシ
    参加者
    2227

    そうなんです、本当はコアの関数だけでやりたかったんですけど、この辺の関数にはフックがなくて拡張できなくて…^^

    0
    いいねをした人: 居ません
6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • トピック「上書きしたテンプレートから、上書きした header.phpを読みたい」には新しい返信をつけることはできません。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。