wordpressで最近のコメントを表示させる方法

ウィジットを使えば、最近のコメントを表示することができますが、さらに
カスタマイズして、表示させたい人への方法

phpのタグ

<?php
$comments = get_comments(array('status' => 'approve' ,'number' => 5));
foreach($comments as $comment):
$post = get_post($comment->comment_post_ID);
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>へのコメント
(<?php comment_author_link(); ?>より[<?php comment_date('m/d'); ?>])
<?php comment_text(); ?></li>
<?php endforeach; ?>

解説

get_comments(array('status' => 'approve' ,'number' => 5));

まずは、get_comments関数でデータを取り出しています。

statusはどんなコメントのデータか指定できます。
ここでは、approve = 承認済みのコメントデータ
ほかには、hold = 承認まちのコメントデータ、spam = スパムコメントデータなど指定できます。
number はコメントの表示させる数になります。
ほかにも指定ができて
orderで並び順を指定できます。初期設定では、DESC、日付が新しい順に並びます。
逆にするなら、’order’ => ‘ASC’を入れてあげれば大丈夫

foreach($comments as $comment):
$post = get_post($comment->comment_post_ID);

foreachで一つ一つのデータを表示できるようループを行っています。
get_post($comment->comment_post_ID)がコメント先のデータを読み込み
$postに代入することでコメントのthe_title();を表示する事ができます。
これがないと、そのページでのthe_title();が表示されます。

(<?php comment_author_link(); ?>より[<?php comment_date('m/d'); ?>])
<?php comment_text(); ?></li>

comment_author_link();はコメントしたユーザー名
comment_date()はコメントした日
comment_text()コメント内容が表示されます。

4 件のコメント

  • はじめまして。(当方PHPもWordpressもどちらもよく分かっておりません。)
    WordPressで最近のコメントを表示させるこの記事、とても参考になりました。ありがとうございます。
    もうひとつ、教えていただきたいのですが、comment_text()によって表示させる文字数を制限したい場合は、(例えば最初の10文字だけを表示させる)という場合は、どのようにすればよいのでしょうか?
    ネットでさがすと mb_substr() というのがあるようですが、組み合わせて使う方法などが、少し試してみましたが、良く分かりませんでした。
    こんな質問をさせてもらってよいのかどうかさえ分かりませんが。
    もしよろしければ、教えていただけると大変助かります。

    • コメント遅くなりましたm(_ _)m
      comment_text()の部分を下記に書き換えられると、最初の10文字が表示されるようになります。

      <?php echo mb_substr(get_comment_excerpt(), 0, 10); ?>

      10の部分を書き換えられれば、文字数をかえれますよ~。試してみてください。

  • お返事いただいていたのですね。何と今頃気が付きました。
    試してみると確かにこの方法で抜粋できますね。
    ありがとございました。お礼が今頃になってしまい、
    大変申し訳ありませんでした。お許し下さい。

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です