WordPressの最近のコメントをカスタマイズする方法

WordPressで最近のコメント一覧を出す時はいつもウィジェットでサクッと付けているのですが、よくよく考えたらタイトルとコメントした人の名前だけじゃなくて、コメント内容の一部も出た方が興味を惹くんじゃないかと思ってきたのでちょいとカスタマイズしてみた。

WordPressの最近のコメントをカスタマイズする方法

WordPressのコメント情報を取り出すにはWP_Comment_Queryを使えば色んな条件を元に取得出来るようだ。

WP_Comment_Query / Codex

 '1', // 管理者は除外
'number' => '5', // 5コメント取得
);

// The Query
$comments_query = new WP_Comment_Query;
$comments = $comments_query->query( $args );


// Comment Loop
if ( $comments ) {
foreach ( $comments as $comment ) {
$url = get_permalink($comment->comment_post_ID);
echo '

' . $comment->post_title . '

'; echo '

' . $comment->comment_content . '

'; } } else { echo 'No comments found.'; } ?>

とりあえずCodexのUsageを元にループを作ってみたのがこちら。取得する条件も結構指定出来て、post_typeやらauthor__not_in等が指定出来る。ので、管理者以外のコメントを出力する、みたいなのも簡単に出来る。うーん、便利だ。

ただ、投稿へのリンクはそのままじゃ取得出来なかったので、get_permalinkを使ってcomment_post_IDを元に引っ張ってくる必要有り。こうすればパーマリンクを取得してタイトルにリンクがはれた。

 '1',
'number' => '5',
);

// The Query
$comments_query = new WP_Comment_Query;
$comments = $comments_query->query( $args );


// Comment Loop
if ( $comments ) {
foreach ( $comments as $comment ) {
$url = get_permalink($comment->comment_post_ID);
echo '

' . $comment->post_title . '

'; echo '

' . $comment->comment_content . '

'; } } else { echo 'No comments found.'; } ?>

コメントが長い場合は省略しよう

20151229-1.jpg

いざ出力してみたら、結構コメントが長い気がする・・・ので、mb_substrでちょい省略。comment_contentを出力している行を以下のようにすればOK。

echo '

' . mb_substr($comment->comment_content, 0, 30) . '...

';

完璧!うむ、やはりタイトルと投稿者の名前だけより、実際のコメントが出ていた方が気になりそうな気がする。以上、WordPressの最近のコメントを取得&改造する方法でした。

SPONCERD

コメントはまだありません


※承認後に反映されます