他のサイトで「最近のコメント」にコメントへのリンクではなくコメント内容が表示されているサイトを見つけました、どんなコメントがどこに書き込まれているかを見るためにはとても便利なコメント表示です。
僕にも何とか出来ないものかと検索していたら「サイドバーのコメント表示プラグイン Get Recent Comments」を見つけました、しかしこのプラグインはウィジェット対応ですが、当サイト使用のテーマkoikikuukann3ではウィジェットに対応していません、でも記事を読み進んでいくと「サイドバーにウィジェットを使用しない場合には、ヘルプにあるコードを参考に直接sidebar.phpに書けばよいだろう。」という箇所を見つけ制作者のサイト「Bitte keine heiße Asche einwerfen」へ下の方に
「If your theme does not yet support widgets, insert to following code into the sidebar template.」とあり、以下のコードが書かれていました。
<?php if (function_exists(‘get_recent_comments’)) { ?>
<li><h2><?php _e(‘Recent Comments:’); ?></h2>
<ul>
<?php get_recent_comments(); ?>
</ul>
</li>
<?php } ?>
<?php if (function_exists(‘get_recent_trackbacks’)) { ?>
<li><h2><?php _e(‘Recent Trackbacks:’); ?></h2>
<ul>
<?php get_recent_trackbacks(); ?>
</ul>
</li>
<?php } ?>
以上をサイドバーに張り付けた後、それを折りたたみにしました。
でもこのPluginのままだと「最近のコメント」内で文字化けが起きるのです、これを解消するためBinsan’s Cafe「Recent Commentsの修正」を参考にさせて戴きました。
プラグイン「Get Recent Comments 」のget-recent-comments.php1487行から1504行目までを
function kjgrc_excerpt ($text,$chars_per_comment,$chars_per_word,$tag,$output)
{
$length = strlen(str_replace($tag,"",strip_tags($output)));
$length = $chars_per_comment - $length;
$length = $length -2; // we will add three dots at the end
if ($length < 0) $length = 0;
if (strlen($text) > $length)
if (function_exists('mb_strimwidth')) {
$text = mb_strimwidth($text, 0, $chars_per_comment, '...', 'utf-8');
}else {
$text = substr($text,0,$length);
$text = substr($text,0,strrpos($text,' '));
// last word exceeds max word length:
if ((strlen($text) - strrpos($text,' ')) > $chars_per_word) {
$text = substr($text,0,strlen($text)-3);
}
$text = $text . "...";
}
#$text = "[EXCERPT]: '$text'";
return "$text";
}
に書き換えました。
おおっと!この投稿は2009.03.17に修正を加えているのですが「WordPressプラグインの自動アップグレード」でもお世話になっているBinsan’s Cafe yutaka様にお世話になっていました。色々と教えて下さるサイトは何度もの出会いがあるようです、これからもよろしくお願い致します。
そしてこのPluginはコメントとトラックバックを分けて表示する機能もついています、という事でテーマkoikikuukan3を使うため?に使っていた「commented-entry-list_1.2 plugin」とはお別れなのでしょうか。