WordPressでサイドバーに独自の新着コメントをリストを追加

公開日: 

ウィジェットを使えば新着コメントをサイドバーに出す事は可能ですが、デフォルトのHTMLだとカスマイズしにくい場合がります。

その時は以下のソースをサイドバーに追加する事で独自の新着コメントリストを表示できます。これならHTMLも編集できるのでCSSカスタマイズもやりやすくなります。

<ul id="new-comments">
<?php
$comments = get_comments('type=comment&status=approve&number=10');
$output = '';
if(is_array($comments) && count($comments) == 0) echo "コメントはありません。";
//コメントがある場合
else{
	//コメントを記事ごとにまとめる
	foreach($comments as $comment){
		isset($posts_list[$comment->comment_post_ID])? $posts_list[$comment->comment_post_ID]++ : $posts_list[$comment->comment_post_ID] = 1;
	}
	while(list($key, $val) = each($posts_list)){
		$first_comment = true;
		foreach($comments as $comment){
			$author = "匿名";
			if($comment->comment_post_ID != $key) continue;
			if($first_comment){
				//記事タイトル取得
				$comment_post = get_post($comment->comment_post_ID);
				$post_title = mb_strimwidth($comment_post->post_title, 0, 40, "...", "UTF-8");
				$permalink = get_permalink($comment->comment_post_ID)."#comments";
				$output .= "<li><a href=\"$permalink\">$post_title</a>\n";
				$output .= "\t<ul>\n";
				$first_comment = false;
			}
			$commentid = get_permalink($comment->comment_post_ID)."#comment-".$comment->comment_ID;
			if(mysql2date('Ymd', $comment->comment_date)== date_i18n('Ymd')) $comment_date = mysql2date('H:i', $comment->comment_date);
			elseif(mysql2date('Y', $comment->comment_date)== date_i18n('Y')) $comment_date = mysql2date('m/d', $comment->comment_date);
			else $comment_date = mysql2date('Y/m/d', $comment->comment_date);
			if($comment->comment_author) $author = mb_strimwidth($comment->comment_author, 0, 30, "...", "UTF-8");
			$output .= "\t\t<li><span class=\"comment_author\"><a href=\"$commentid\" title=\"\">".$author."</a> </span>".
			"<span class=\"comment_date\">( $comment_date )</span></li>\n";
		}
		$output .= "\t</ul>\n</li>\n";
	}
	echo $output;
} ?>
</ul>

表示される時は以下のようになります。

・投稿記事タイトル

コメント者名(投稿日時)

コメント者名(投稿日時)

コメント入力欄

主な業務内容

  • ホームページ制作
  • ECサイト構築
  • SEO対策
  • システム構築
  • トレードシステム設計
  • 展示会の企画・設計
  • 日用雑貨の販売
PAGE TOP ↑