記事一覧にコメント数を表示したい(表示はできたのですが、余分なコードが消せません)

0
いいねをした人: 居ません
6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • 投稿者
    投稿
  • #73671
    Nmr
    参加者
    10

    【お使いの Snow Monkey のバージョン】 14.0.2
    【お使いの Snow Monkey Blocks のバージョン】 11.0.3
    【お使いの Snow Monkey Editor のバージョン】 未使用
    【お使いのブラウザ】 Chrome
    【当該サイトのURL】 開発中です。

    ### 実現したいこと
    記事一覧にコメント数を表示したい。
    コメントの表示はできたのですが、余分なコードが消せません。

    ### 発生している問題
    フォーラム内で似た事案を見つけ、それをベースに書き換えました。
    なんとかコメント数の表示はできたのですが、余分なコードが消せません。

    消すと重大なエラーが出てしまい、どこを触ればよいのか分からない状況です。
    PHPの記法の問題で恐縮なのですが、My snow monkeyへの書き方を教えていただけないでしょうか?

    ### 試したこと

    ■コメントを表示するために記述したコードは下記です。

    add_filter(
        'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta',
        function( $html ) {
            ob_start();
            ?>
            <li class="c-meta__item c-meta__item--comments__number"><span>
                <?php
                echo get_comments_number();
                ?>
            </span>コメント</li>
    
            <?php
            $modified = ob_get_clean();
            return preg_replace(
                '|(<li class="c-meta__item c-meta__item--published">.*?</li>)|ms',
                '$1' . $modified,
                $html
            );
        }
    );

    ■解決したいこと
    12行目の
    <?php
    $modified = ob_get_clean();

    から下は必要ないと思うのですが、消す方法が分かりません……。

    ■参考にしたコードは下記です。
    記事一覧ページに更新日を追加したいです。

    よろしくお願いいたします。

    0
    いいねをした人: 居ません
    #73699
    キタジマ タカシ
    参加者
    2227
            $modified = ob_get_clean();
            return preg_replace(
                '|(<li class="c-meta__item c-meta__item--published">.*?</li>)|ms',
                '$1' . $modified,
                $html
            );

            return ob_get_clean();
    

    にするとどうでしょうか?

    0
    いいねをした人: 居ません
    #73711
    Nmr
    参加者
    10

    キタジマさま

    早速のご返信ありがとうございます。
    下記で試してみたのですが、表示されていた「公開日」が消えてしまいました。
    コメント数は表示されています。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta',
    	function( $html ) {
    		ob_start();
    		?>
    		<li class="c-meta__item c-meta__item--comments__number"><span>
    			<?php
    			echo get_comments_number();
    			?>
    		</span>コメント</li>
    		<?php
    		return ob_get_clean();
    	}
    );

    上下に入っていたulタグが消えてしまうようです。

    <div class="c-entry-summary__meta">
    <ul class="c-meta">

    原因わかりますでしょうか?
    お手数をおかけし申し訳ありません。

    よろしくお願いいたします。

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

    改めて確認してみました。当初の

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta',
    	function( $html ) {
    		ob_start();
    		?>
    		<li class="c-meta__item c-meta__item--comments__number"><span>
    			<?php
    			echo get_comments_number();
    			?>
    		</span>コメント</li>
    		<?php
    		$modified = ob_get_clean();
    		return preg_replace(
    				'|(<li class="c-meta__item c-meta__item--published">.*?</li>)|ms',
    				'$1' . $modified,
    				$html
    		);
    	}
    );

    で正しいと思います。

    0
    いいねをした人: 居ません
    #73804
    Nmr
    参加者
    10

    キタジマさま

    ご返信ありがとうございます!
    当初のコードでOKなのですね。

    参考にしたソースコードが「更新日を追加する」ものでしたので、
    「c-meta__item–published」と入った部分は、必要ないものと思っておりました。
    (なんとなく「更新日」に関係しそうで……。)

    このコードで使っていきます。
    お手数をおかけしすみません。
    ありがとうございました!

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

    .c-meta__item–published の後ろに ob_get_clean()(つまりバッファリングしたコメント数の HTML)を追加するというコードですね。あ、だから $modified という変数名だとわかりにくいかもですね。動きはしますけど。

    トピック閉じます!

    0
    いいねをした人: 居ません
6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • トピック「記事一覧にコメント数を表示したい(表示はできたのですが、余分なコードが消せません)」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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