- 
		投稿者投稿
- 
		
			
				
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);
 で呼び出しています。♥ 0Who liked: No user2021年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とかでいけませんでしょうか?こちら、詳しくお伺いできますでしょうか。 また、本体アップデートでファイルが消失する旨も承知しております。 
 ご指摘ありがとうございます。♥ 0Who liked: No user2021年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でコツコツ追加していきます。♥ 0Who liked: No user2021年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でオリジナルのテンプレートパーツの読み込み方法を知りたい」には新しい返信をつけることはできません。




