My Snow Monkeyでオリジナルのテンプレートパーツの読み込み方法を知りたい

0
いいねをした人: 居ません
  • このトピックには7件の返信、3人の参加者があり、最後にcojiにより3年、 6ヶ月前に更新されました。
8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • 投稿者
    投稿
  • #76186
    coji
    閲覧者
    7

    【お使いの Snow Monkey のバージョン】14.3.1
    【お使いの Snow Monkey Blocks のバージョン】11.3.0
    【お使いの Snow Monkey Editor のバージョン】5.0.6
    【お使いのブラウザ】google chrome
    【当該サイトのURL】ローカルサイト

    ### 実現したいこと

    Snow Monkey本体に存在しないテンプレートパーツをMy Snow Monkeyのmy-snow-monkey.phpから直接呼び出したい。

    plugins\my-snow-monkey\override\template-parts\original\foo.php

    を呼び出すための方法がありましたらお教えください。

    ### 発生している問題

    ### 試したこと

    呼び出し方がわからないので、Snow Monkey本体に
    template-parts/original/foo.php
    を追加して
    get_template_part('template-parts/original/foo);
    で呼び出しています。

    0
    いいねをした人: 居ません
    #76215
    Olein_jp
    参加者
    565

    `Snow Monkey本体に存在しないテンプレートパーツをMy Snow Monkeyのmy-snow-monkey.phpから直接呼び出したい。

    plugins\my-snow-monkey\override\template-parts\original\foo.php

    を呼び出すための方法がありましたらお教えください。`

    上書き用のディレクトリに配置したファイルをmy-snow-monkey.phpから読み込みたいとのことですが、「読み込みたい」というのはどういった用途になるのでしょうか?

    Snow Monkey 本体の template-parts 内のファイルを上書きするという用途であれば、テンプレート上書きが可能な環境にした上で、 override/template-parts/***/***.php というような形でファイルを設置すると上書きできるはずです。

    単純にインポートするだけであれば requre とかでいけませんでしょうか?

    また、ご存知かとは思いますが、

    呼び出し方がわからないので、Snow Monkey本体に
    template-parts/original/foo.php
    を追加して
    get_template_part(‘template-parts/original/foo);
    で呼び出しています。

    こちらをやりますと、Snow Monkey 本体のアップデートでファイルがなくなってしまいます。

    3
    いいねをした人:
    #76218
    coji
    閲覧者
    7

    Olein_jp さま
    ご返信ありがとうございます。

    用途としましては、WP 5.5からget_template_partにパラメーターが渡せるようになったので
    ショートコードで動的にテンプレートパーツを読み込み、ブロックで構築 + 好きな場所にテンプレートパーツを挿入するためです。

    また、上書き用のディレクトリに配置しているのは、テンプレートパーツのファイルを同じ場所にまとめておきたいだけで、特に意味はありません。

    単純にインポートするだけであればrequreとかでいけませんでしょうか?

    こちら、詳しくお伺いできますでしょうか。

    また、本体アップデートでファイルが消失する旨も承知しております。
    ご指摘ありがとうございます。

    0
    いいねをした人: 居ません
    #76238
    アバター画像キタジマ タカシ
    参加者
    2421

    snow_monkey_template_part_root_hierarchy フックでファイル呼び出しの基準ディレクトリを追加することで、\Framework\Helper::get_template_part() で呼び出せるようになります。

    が、複雑さが増すので、ファイルの追加や上書きが必要な場合は子テーマを使うほうがシンプルかなと思います。

    1
    いいねをした人:
    #76254
    coji
    閲覧者
    7

    キタジマ タカシ さま

    ご返信ありがとうございます。

    snow_monkey_template_part_root_hierarchy

    を利用してできるかも と思いつつ試してみたのですが、うまくいかず、Snow Monkey本体にあるテンプレートパーツの置き換えに使うフックかと思い込んでおりました、、、オリジナルファイルも行けるのですね!

    構築の煩雑さは増しても、運用がシンプルにできればと思っておりまして極力、子テーマなしで構築したいと考えています。
    snow_monkey_template_part_root_hierarchy フィルターフックを利用して、
    my-snow-monkey.php上で
    plugins\my-snow-monkey\override\template-parts\original\foo.php
    get_template_part()から呼び出す具体的なコードをお教えいただけないでしょうか。
    ※ファイル冒頭に use Framework\Helper; は追加済みです。

    また、特定のディレクトリ内のテンプレートパーツ呼び出し時のみMy Snow Monkeyのここのディレクトリを使ってね という事ができれば負荷も少なくて済みそうなのですが、そのような手法がありましたら、併せてお教えいただけると助かります。
    ※これができなくても$slugでコツコツ追加していきます。

    0
    いいねをした人: 居ません
    #76256
    アバター画像キタジマ タカシ
    参加者
    2421

    構築の煩雑さは増しても、運用がシンプルにできればと思っておりまして極力、子テーマなしで構築したいと考えています。

    フックを使うということは Snow Monkey のアップデートにより影響を受ける可能性もあります。テンプレートの追加や上書きをする場合は運用面を考えても子テーマのほうがシンプルだと個人的には思います。

    snow_monkey_template_part_root_hierarchy フィルターフックを利用して、
    my-snow-monkey.php上で
    plugins\my-snow-monkey\override\template-parts\original\foo.phpを
    get_template_part()から呼び出す具体的なコードをお教えいただけないでしょうか。

    下記のページを参照してください。

    また、特定のディレクトリ内のテンプレートパーツ呼び出し時のみMy Snow Monkeyのここのディレクトリを使ってね という事ができれば負荷も少なくて済みそうなのですが、そのような手法がありましたら、併せてお教えいただけると助かります。

    snow_monkey_template_part_root_hierarchy は第2引数に $slug(テンプレートパーツの slug) が、第3引数で $name(テンプレートパーツの name)が受け取れます。それを使って条件判定してルートを追加すればやりたいことが実現できるかなと思います。

    1
    いいねをした人:
    #76260
    coji
    閲覧者
    7

    キタジマ タカシ さま

    ご返信ありがとうございます。

    フックを使うということは Snow Monkey のアップデートにより影響を受ける可能性もあります。テンプレートの追加や上書きをする場合は運用面を考えても子テーマのほうがシンプルだと個人的には思います。

    なるほど、、承知しました。子テーマで対応するようにします。

    具体例のページのご案内もありがとうございます。
    そちらも確認して試してはみたものの、実現できず、、、勉強のために再度チャレンジしてみます。

    本件、またご相談させて頂くかもしれませんので、もう少しトピックはオープンのままとさせてください。

    引き続き、よろしくお願い致します。

    1
    いいねをした人:
    #76266
    coji
    閲覧者
    7

    キタジマ タカシ さま
    Olein_jp さま

    ご案内下さいました内容で無事に読み込みできました。

    私の方の勘違いのポイントとして

    use Framework\Helper; を宣言しておけば、my-snow-monkey.php上で
    get_template_part() はすべてsnow_monkey_template_part_root_hierarchyをフックしてくれると思い込んでおりました。
    get_template_part()\Framework\Helper::get_template_part()とすることで
    意図する動作になりました。

    ご対応ありがとうございました。

    3
    いいねをした人:
8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • トピック「My Snow Monkeyでオリジナルのテンプレートパーツの読み込み方法を知りたい」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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