-
投稿者投稿
-
2021年5月20日 5:43 PM #76186
【お使いの 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いいねをした人: 居ません2021年5月20日 10:07 PM #76215`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 本体のアップデートでファイルがなくなってしまいます。
2021年5月20日 11:12 PM #76218Olein_jp さま
ご返信ありがとうございます。用途としましては、WP 5.5から
get_template_part
にパラメーターが渡せるようになったので
ショートコードで動的にテンプレートパーツを読み込み、ブロックで構築 + 好きな場所にテンプレートパーツを挿入するためです。また、上書き用のディレクトリに配置しているのは、テンプレートパーツのファイルを同じ場所にまとめておきたいだけで、特に意味はありません。
単純にインポートするだけであれば
requre
とかでいけませんでしょうか?こちら、詳しくお伺いできますでしょうか。
また、本体アップデートでファイルが消失する旨も承知しております。
ご指摘ありがとうございます。♥ 0いいねをした人: 居ません2021年5月21日 9:31 AM #76238snow_monkey_template_part_root_hierarchy
フックでファイル呼び出しの基準ディレクトリを追加することで、\Framework\Helper::get_template_part()
で呼び出せるようになります。が、複雑さが増すので、ファイルの追加や上書きが必要な場合は子テーマを使うほうがシンプルかなと思います。
2021年5月21日 9:55 AM #76254キタジマ タカシ さま
ご返信ありがとうございます。
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いいねをした人: 居ません2021年5月21日 10:02 AM #76256構築の煩雑さは増しても、運用がシンプルにできればと思っておりまして極力、子テーマなしで構築したいと考えています。
フックを使うということは 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)が受け取れます。それを使って条件判定してルートを追加すればやりたいことが実現できるかなと思います。2021年5月21日 10:17 AM #76260キタジマ タカシ さま
ご返信ありがとうございます。
フックを使うということは Snow Monkey のアップデートにより影響を受ける可能性もあります。テンプレートの追加や上書きをする場合は運用面を考えても子テーマのほうがシンプルだと個人的には思います。
なるほど、、承知しました。子テーマで対応するようにします。
具体例のページのご案内もありがとうございます。
そちらも確認して試してはみたものの、実現できず、、、勉強のために再度チャレンジしてみます。本件、またご相談させて頂くかもしれませんので、もう少しトピックはオープンのままとさせてください。
引き続き、よろしくお願い致します。
2021年5月21日 11:32 AM #76266キタジマ タカシ さま
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()
とすることで
意図する動作になりました。ご対応ありがとうございました。
-
投稿者投稿
- トピック「My Snow Monkeyでオリジナルのテンプレートパーツの読み込み方法を知りたい」には新しい返信をつけることはできません。