-
投稿者投稿
-
2021年4月19日 11:37 PM #73671
【お使いの 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いいねをした人: 居ません2021年4月20日 8:53 AM #73699$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いいねをした人: 居ません2021年4月20日 11:39 AM #73711キタジマさま
早速のご返信ありがとうございます。
下記で試してみたのですが、表示されていた「公開日」が消えてしまいました。
コメント数は表示されています。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いいねをした人: 居ません2021年4月21日 10:01 AM #73763改めて確認してみました。当初の
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いいねをした人: 居ません2021年4月21日 12:05 PM #73804キタジマさま
ご返信ありがとうございます!
当初のコードでOKなのですね。参考にしたソースコードが「更新日を追加する」ものでしたので、
「c-meta__item–published」と入った部分は、必要ないものと思っておりました。
(なんとなく「更新日」に関係しそうで……。)このコードで使っていきます。
お手数をおかけしすみません。
ありがとうございました!♥ 0いいねをした人: 居ません2021年4月22日 8:52 AM #73945.c-meta__item–published
の後ろにob_get_clean()
(つまりバッファリングしたコメント数の HTML)を追加するというコードですね。あ、だから$modified
という変数名だとわかりにくいかもですね。動きはしますけど。トピック閉じます!
♥ 0いいねをした人: 居ません -
投稿者投稿
- トピック「記事一覧にコメント数を表示したい(表示はできたのですが、余分なコードが消せません)」には新しい返信をつけることはできません。