-
投稿者投稿
-
2019年9月16日 3:24 PM #28089
【お使いの Snow Monkey のバージョン】v7.10.6
【お使いのブラウザ】Chrome
===今制作中のサイトで、「SnowMonkey: 最近の投稿」ウィジェットにおいて、カスタムフィールドも表示させたい…ということがあるのですが、コレは、カスタマイズの範疇で可能そうでしょうか?
ループの条件を調整する方法などは見つけたのですが、カスタムフィールドの表示については見つけられず…教えて頂けたら幸いです!
♥ 0いいねをした人: 居ません2019年9月17日 8:33 PM #28176「Snow Monkey: 最近の投稿ウィジェット」は、
Helper::get_template_part( 'template-parts/widget/snow-monkey-posts', 'recent', [ ... ] );
というように、
Helper::get_template_part()
というメソッドでテンプレートを読み込んで表示しているのですが、このメソッドには HTML を書き換えるフィルターフックが仕込んであるので、それを使ってstr_replace()
、preg_replace()
することは可能です。add_filter( 'snow_monkey_template_part_render', function( $html, $slug, $name ) { if ( 'template-parts/widget/snow-monkey-posts' === $slug && 'recent' === $name ) { // ここで書き換えて返す $html = preg_replace( ... ); return $html; } return $html; }, 10, 3 );
置換で済まないレベルでもっとガッツリ変更が必要な場合はまた別の方法があるのでそのときは言ってください。
♥ 0いいねをした人: 居ません2019年9月18日 1:08 PM #28227今回の例だと追加したいなーとかそういう感じだったこともあり、ケミさんの記事を参考にmy-snow-monkeyにテンプレートディレクトリを作って、その中で必要ファイルを追加(一部上書き)する方法をとって実現できそうです。
このとき、バージョン情報に気をつけるべきと言う事は見たのですが、コレって、各テンプレートの上部にあるversion部分を指していると言う事で良いですかね?
基本的には元々あるファイルをコピーしてきて、必要最低限のif文などを入れて独自テンプレの差し込みをHelperでやっているという感じなんですが…どうでしょう?♥ 0いいねをした人: 居ません2019年9月18日 11:00 PM #28305このとき、バージョン情報に気をつけるべきと言う事は見たのですが、コレって、各テンプレートの上部にあるversion部分を指していると言う事で良いですかね?
テンプレート上部にある @version によるバージョンチェックは「子テーマでのテンプレート上書き」のときのみおこなわれます。なので My Snow Monkey でやる場合は、Snow Monkey のアップデートによりそのテンプレートに更新が入っても(@version があがっても)、警告はでないということになりますね。
基本的には元々あるファイルをコピーしてきて、必要最低限のif文などを入れて独自テンプレの差し込みをHelperでやっているという感じなんですが…どうでしょう?
差し込む位置が、
str_repace()
、preg_replace()
で指定できるなら、テンプレート上書きではなくsnow_monkey_template_part_render
での置換がおすすめです(そのほうが Snow Monkey アップデート時の影響を最小限にできる可能性が高いため)。下記が参考になるかも知れません。
str_repace()
、preg_replace()
で指定できる部分でないなら、テンプレート上書きになりますかね。♥ 0いいねをした人: 居ません2019年9月19日 1:08 AM #28311なるほど了解です!
必要な情報が揃ったので、トピック的にはクローズしますね!ありがとうございました!!
♥ 0いいねをした人: 居ません -
投稿者投稿
- トピック「最近の投稿ウィジェットでカスタムフィールドを表示させたい」には新しい返信をつけることはできません。