snow_monkey_template_part_rootの書き方

0
いいねをした人: 居ません
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #10466
    u212
    参加者
    0

    トピックを新しく立てる方は次の項目も記述してください(要望トピックの場合は不要です)。

    【お使いの Snow Monkey のバージョン】v5.1.1(ローカルテスト環境)
    【お使いのブラウザ】safari、chrome
    【当該サイトのURL】(公開できる場合は書いていただいたほうがスムーズです)


    新しく追加された「snow_monkey_template_part_root」の書き方はどうなりますか?

    my snow monkeyプラグインに以下のように書けば良いかと思いますが、functionの中の〇〇部分がわかりません。

    add_filter(
    ‘snow_monkey_template_part_root’,
    function( $root, $slug, $name, $vars ) {

    〇〇
    },10,4)

    0
    いいねをした人: 居ません
    #10469
    キタジマ タカシ
    参加者
    2253

    これまだ記事も説明も書いてなかったですね。。。

    例えば my-snow-monkey/my-snow-monkey.php に記述 & my-snow-monkey/my-snow-monkey/templates の中にテンプレートを配置するとすると、次のようになります。

    add_filter(
        'snow_monkey_template_part_root',
        function( $root, $slug, $name, $vars ) {
            return __DIR__ . '/templates';
        },
        10,
        4
    );

    上の例だと Helper::get_template_part() で呼び出されるすべてのテンプレートの基本ディレクトリが my-snow-monkey/templates になりますが、例えば $slug を使って分岐させれば特定のテンプレートのときだけ基本ディレクトリを変える、みたいなこともできます。

    0
    いいねをした人: 居ません
    #10471
    u212
    参加者
    0

    ご説明ありがとうございます。

    以下のようにプラグインディレクトリ内を配置しましたが、配置したテンプレートが反映されませんでした。何か配置の仕方を勘違いしているのだと思いますが、正解をお示しいただけますか?

    my-snow-monkey

    ├my-snow-monkey.php

    └templates

    └loop

    └entry-summary-post.php

    my-snow-monkey.phpでの書き方は、冒頭のプラグイン名などのコメント以外に以下を記しただけです。

    add_filter(
    ‘snow_monkey_template_part_root’,
    function( $root, $slug, $name, $vars ) {
    return DIR . ‘/templates’;
    },10,4);

    0
    いいねをした人: 居ません
    #10472
    u212
    参加者
    0

    配置がずれたので再投稿します。
    ディレクトリ構造

    my-snow-monkey
     ├my-snow-monkey.php
     └templates
       └loop
         └entry-summary-post.php

    my-snow-monkey.php内のコード

    add_filter(
        'snow_monkey_template_part_root',
        function( $root, $slug, $name, $vars ) {
        return __DIR__ . '/templates';
        },10,4
    );

    「My Snow Monkey」以外に有効化されたプラグインは「Snow Monkey Blocks」「WP Multibyte Patch」だけです。

    0
    いいねをした人: 居ません
    #10479
    キタジマ タカシ
    参加者
    2253

    あ、このフックちょっとわかりにくいですよね。。

    えと、 snow_monkey_template_part_rootHelper::get_template_part() が呼び出すテンプレートパーツの基準ディレクトリを変更します。なので、例えば

    Helper::get_template_part( 'template-parts/common/copyright' );
    

    としてテンプレートパーツを呼び出した場合、 /PATH/TO/wp-content/themes/snow-monkey/template-parts/common/copyright.php が呼び出されるわけですが、この /PATH/TO/wp-content/themes/snow-monkey/ の部分を変更できる、ということになります。

    したがって、先の例だと、my-snow-monkey 内の配置はこうすることになります。

    my-snow-monkey
      ├ my-snow-monkey.php
      └ templates
        └ template-parts
          └ loop
          └ entry-summary-post.php
    0
    いいねをした人: 居ません
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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