カスタム投稿のアーカイブ(記事一覧)で、タイトルの下にカスタムフィールドの内容を表示する

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

    【お使いの Snow Monkey のバージョン】最新
    【お使いの Snow Monkey Blocks のバージョン】最新
    【お使いの Snow Monkey Editor のバージョン】最新
    【お使いのブラウザ】Chrome
    【当該サイトのURL】

    カラーミーショップと連携して(商品ごとにカートに入れるjsボタン発行して、htmlブロックに貼り付ける機能を利用)、Snow MonkeyでECサイトを制作しています。

    CPT UIでカスタム投稿 商品(item)をつくって、カテゴリ毎のアーカイブページをみると

    リッチメディアなのもあって、

    ・商品のアイキャッチ
    ・商品のタイトル
    ・商品記事の抜粋
    ・商品のカテゴリ

    がきれいに表示され満足していたのですが、やっぱりタイトルの下にそれぞれの価格などを表示したいなぁという欲が出まして、かつ子テーマは使いたくないなぁと思い試行錯誤しています。

    Advanced Custom Fieldsで、カスタム投稿用にカスタムフィールドを作成し、

    画面の上部に3列目のメニューを表示する

    で教えていただいた内容とググった内容をあわせて、現状下記のようになりました。

    表示は希望のものとなっていますが、このようなカスタマイズで問題ないのか?という疑問と、同じようなことをしたい人への情報提供になればと思いトピック立てさせてもらいます。(既出でしたらすみません)

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	//entry-summary-postが対象
    	function( $html ) {
    		if (get_post_type() === 'item'): //カスタム投稿 itemに限定する
    			// 以降の出力を変数に格納する
    			ob_start();
    			?>
    			<div class="price__wrapper">
    				<p>税込<?php echo number_format(get_field('price')); ?>円</p>
    			</div>
    			<?php
    			// 変数に格納
    			$kw_price = ob_get_clean();
    			// </header>を書き換える
    			return str_replace(
    				'</header>',
    				'</header>'.$kw_price,
    				$html
    			);
    		endif;
    		return $html;
    	}
    );
    3
    いいねをした人:
    #66068
    キタジマ タカシ
    参加者
    2254

    こんな感じで良いのではないかと思います!

    一点だけ、個人的には出力はなるべく全部サニタイズしたいので、僕なら

    number_format(get_field('price'));
    

    esc_html( number_format( get_field( 'price' ) ) );
    

    とするかなと思いました。

    5
    いいねをした人:
    #66075
    みしま
    参加者
    58

    サニタイズの視点、完全に飛んでましたので助かります。
    esc_htmをつかって、下記のようなカスタマイズとして利用させていただきます。
    ありがとうございます!

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	//entry-summary-postが対象
    	function( $html ) {
    		if (get_post_type() === 'item'): //カスタム投稿 itemに限定する
    			// 以降の出力を変数に格納する
    			ob_start();
    			?>
    			<div class="price__wrapper">
    				<p>税込<?php echo esc_html(number_format(get_field('price'))); ?>円</p>
    			</div>
    			<?php
    			// 変数に格納
    			$kw_price = ob_get_clean();
    			// </header>を書き換える
    			return str_replace(
    				'</header>',
    				'</header>'.$kw_price,
    				$html
    			);
    		endif;
    		return $html;
    	}
    );
    4
    いいねをした人:
3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • トピック「カスタム投稿のアーカイブ(記事一覧)で、タイトルの下にカスタムフィールドの内容を表示する」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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