最近の投稿ウィジェットでカスタムフィールドを表示させたい

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

    【お使いの Snow Monkey のバージョン】v7.10.6
    【お使いのブラウザ】Chrome
    ===

    今制作中のサイトで、「SnowMonkey: 最近の投稿」ウィジェットにおいて、カスタムフィールドも表示させたい…ということがあるのですが、コレは、カスタマイズの範疇で可能そうでしょうか?

    ループの条件を調整する方法などは見つけたのですが、カスタムフィールドの表示については見つけられず…教えて頂けたら幸いです!

    0
    いいねをした人: 居ません
    #28176
    キタジマ タカシ
    参加者
    2234

    「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
    いいねをした人: 居ません
    #28227
    笹川 潔
    参加者
    0

    今回の例だと追加したいなーとかそういう感じだったこともあり、ケミさんの記事を参考にmy-snow-monkeyにテンプレートディレクトリを作って、その中で必要ファイルを追加(一部上書き)する方法をとって実現できそうです。

    このとき、バージョン情報に気をつけるべきと言う事は見たのですが、コレって、各テンプレートの上部にあるversion部分を指していると言う事で良いですかね?
    基本的には元々あるファイルをコピーしてきて、必要最低限のif文などを入れて独自テンプレの差し込みをHelperでやっているという感じなんですが…どうでしょう?

    0
    いいねをした人: 居ません
    #28305
    キタジマ タカシ
    参加者
    2234

    このとき、バージョン情報に気をつけるべきと言う事は見たのですが、コレって、各テンプレートの上部にある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
    いいねをした人: 居ません
    #28311
    笹川 潔
    参加者
    0

    なるほど了解です!

    必要な情報が揃ったので、トピック的にはクローズしますね!ありがとうございました!!

    0
    いいねをした人: 居ません
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • トピック「最近の投稿ウィジェットでカスタムフィールドを表示させたい」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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