1.0.399 → 1.0.405での「子テーマを作らずにテンプレートファイルの読み込み先を変える方法」の仕様について
お世話になっております。個人でクリアできなかったためご相談です。
https://support.animagate.com/manual/nishiki-pro-get-template-part-hook/
こちらを読んで、ローカルで作業していた際「1.0.399」ではうまく表示されていたのですが、1.0.405にバージョンアップしたらどうやら読み込まれていないような感じの挙動になっていました。
アーカイブページの出力を、各カテゴリ別でデザインしていたのですが、ノーマルのテンプレートのみが読まれている状態になってしまいました。
なにか思い当たる点はございますでしょうか?
サポトピア
Nishiki Pro:子テーマを作らずにテンプレートファイルの読み込み先を変える方法
子テーマ不要。「テンプレートファイルの読み込み先を変えて自分好みにカスタマイズしたい!」って時に使える方法です
11 Replies
投稿ありがとうございます!
円滑なコミュニティー運営のため #利用ルール を守って投稿してください。
また、何らかのエラーを報告する場合は、再現操作を動画キャプチャして貼り付けてください。
認識のズレも減り、回答も得られやすく、スムーズにサポートが進められます。
ご協力お願いします🙏
テンプレート周りのコードを変えている記憶はないのですが、動作確認してみますね!
1.0.405でもマニュアルのとおり動作確認できました!
確認箇所としては、指定したパス内にファイルが存在していない可能性など、でしょうかね。
ここにコードを貼り付けていただけるようでしたら、
こちらでもできるだけの検証はさせていただこうと思いますので、ご検討くださいー。
「1.0.399」で動作していたときのコードを貼らせていただきます。
// 独自アーカイブテンプレートのカスタマイズ
function nishiki_pro_custom_archive_post_template( $file_path ){
if( is_archive() ){
$file_path = dirname( FILE ) . '/templates';
}
return $file_path;
}
add_filter( 'nishiki_pro_get_template_part_path_parts/archive/post', 'nishiki_pro_custom_archive_post_template' );
上記のコードでPHPのバージョン7.5~8.3等色々試してみたのですが、テーマを最新にしたら…という感じです。
ディレクトリ構造はドキュメント通りです!
ありがとうございます。
コードを見る限りでは動きそうですけどね。
この関数が動くかどうか、以下のようにvar_dumpでパスが表示されるかどうか試せますか?
string(83) "C:\XXXX\YYYYY\Local Sites\omizuyasan\app\public\wp-content\plugins\myplugin/templates"
こんなかんじです。(環境部分等ちょっと伏せてます)
関数は動いてますねー。
プラグイン全部切っても同じなので…
ちょっとMTGででてしまうので、午後イチでまた検証進めたいと思います!
このフックが動くのは、
nishiki_pro_get_template_part
を使ってテンプレートを読み込む必要があるので、
nishiki_pro_get_template_part( 'parts/archive/content' );
とか書いてないといけないんですが、どうですかねー。
大変申し訳ございません!🙇♂️
重要な部分だけテンプレートに直書きしていて、テーマを更新したため表示されないという単純ミスでした!
(このフックを使ってみる前に作っていたので、組み込んだと思い込んでおりました。)
このフックめちゃめちゃ便利なので、今後とも積極的に使っていきたいと思います!
あと、この機能の確認になりますが認識が違ったらすみません。例えば
archive.php に
①nishiki_pro_get_template_part( 'parts/archive/content' );
という記述がテーマにあり、これに対してのフックでプラグインの中の階層の ②templates の中の対応するファイルが読み込まれる、ということで合っていますでしょうか?
ということであれば、使い方としては ① を記述することはなく(今回は)、 ② のディレクトリを自作プラグイン等の中で作成すればOK!
逆に言えば①を呼び出せば任意のところでアーカイブ等が呼び出せる。(get_template_partの拡張)
と言う解釈で合っていますでしょうか?
おお、原因が特定できてよかったです。
認識合ってます。なので、プラグインだけで完結させられるような作りになっています!
ありがとうございましたー!