「最近の投稿」にカスタムフィールドを追加したい

0
いいねをした人: 居ません
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #68066
    マドカ
    閲覧者
    7

    【お使いの Snow Monkey のバージョン】 最新
    【お使いの Snow Monkey Blocks のバージョン】 最新
    【お使いの Snow Monkey Editor のバージョン】 最新
    【お使いのブラウザ】 Chrome

    いつもお世話になっております。

    ■実現したいこと
    「最近の投稿」にカスタムフィールドの値を追加出力したいです。

    ■試したこと
    こちらの記事を参考に、著者部分をカスタムフィールド値に書き換えようと思い、以下のようにmy snow monkeyに追記したのですが、カスタムフィールドをうまいこと表示できず。。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug, $name ) {
    		if ( 'template-parts/widget/snow-monkey-posts' === $slug && 'recent' === $name ) {
    			return preg_replace(
    '|
    <ul>
     	<li class="c-meta__item c-meta__item--author">.*?</li>
    </ul>
    |ms',
    '
    <ul>
     	<li class="c-meta__item client_name">' .ここに表示させたい内容を記載する?. '</li>
    </ul>
    ',
    				$html
    			);
    		}
    		return $html;
    	},
    	10,
    	3
    );

    お忙しいなか大変申し訳ありませんが、カスタムフィールドの値を追加出力する方法についてご教授いただけますと幸いです!
    どうぞよろしくお願いいたします。

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

    置換対象が

    <ul>
     	<li class="c-meta__item c-meta__item--author">.*?</li>
    </ul>

    だと、著者名と日付、のようにメタ情報が2つある(ul の中に li が2つ以上ある)と一致しなくなってしまうので、次のように書き換えるとうまくいくかもしれません。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug, $name ) {
    		if ( 'template-parts/widget/snow-monkey-posts' === $slug && 'recent' === $name ) {
    			return preg_replace(
    				'|<li class="c-meta__item c-meta__item--author">.*?</li>|ms',
    				'<li class="c-meta__item client_name">' .ここに表示させたい内容を記載する?. '</li>',
    				$html
    			);
    		}
    		return $html;
    	},
    	10,
    	3
    );
    0
    いいねをした人: 居ません
    #68410
    マドカ
    閲覧者
    7

    キタジマさん

    早々にご返信いただきましてありがとうございます!
    お返事が遅くなりまして申し訳ございません!

    上記だとやはり希望通りの動作にならず試行錯誤していただのですが、こちらの記事を参考にさせていただきましたらうまくいきました!

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

    my-snow-monkeyに記載した内容は以下のとおりです(一部のみの書きかえですが、他の方の参考になれば)。
    もし内容に不適切な箇所があればご指摘いただければ助かります。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	//entry-summary-postが対象
    	function( $html ) {
    		if (get_post_type() === 'works'): //カスタム投稿worksに限定する
    			// 以降の出力を変数に格納する
    			ob_start();
    			?>
    			<div class="client-name">
    				<p><?php echo esc_html (get_field('client_name')); ?></p>
    			</div>
    			<?php
    			// 変数に格納する
    			$works_client = ob_get_clean();
    			// </header>を書き換える
    			return str_replace(
    				'</header>',
    				'</header>'.$works_client,
    				$html
    			);
    		endif;
    		return $html;
    	}
    );

    どうぞよろしくお願いいたします。

    1
    いいねをした人: 居ません
    #68767
    キタジマ タカシ
    参加者
    2254

    あ、もしかしたら僕が書き換えようとしていたところがちょっと違ったかもですね。失礼しました。トピック閉じます!

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

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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