glossyblue のテーマをカスタマイズさせてもらって使っているのですが、どうもコメントの引用がおかしい。文末が文字化けしてるのだ。きっとマルチバイト文字に対応していないんだと思ってはいたんだけれど、ほったらかしにしてあったのだが、気になって調べてみた。

glossyblue のテーマのコメント表示には、 footer.php に src_simple_recent_comments() という関数が使われていて、調べてみてもどんな関数かいまいちわからない。でも、 src_simple_recent_comments() の前後をよく見てみると、直前で「 simple_recent_comments.php 」を読み込んでいることがわかった。このファイルで、コメント者とその概要を表示していたのだ。それが、マルチバイトに対応していないみたい。

ということで、違う方法で最近のコメントを取り出す方法を模索していると、 Get Recent Comments というプラグインに辿り着いた。以下の記事が参考になりました。
→ Trash can::ver.2 : Get Recent Comments を入れてみた

プラグインをインストールして有効化。テーマ footer.php の該当箇所を以下に書き換え。

<?php if (function_exists('get_recent_comments')) { ?>
  <h4><?php _e('最近のコメント'); ?></h4>
  <ul>
    <?php get_recent_comments(); ?>
  </ul>
<?php } ?>

設定→ Recent Comments から、最近のコメント( Comments )の設定をする。英語の設定項目を訳してみた。

管理画面で以下の項目が設定できる。これなら、 Recent Comments (最近のコメント)のカスタマイズも自由自在だ。

でも 1 つ困ったことが。それは、「 %comment_excerpt 」でコメントの抜粋をすると、日本語だと単語区切り(スペース)がないので、改行までが long word として扱われて「 Long comments are chopped off at 」の設定がうまく効かない。気にしなければそれまでなんだけれど、気になったのでちょっと小細工してみました。

まず、「 Wrap long words at 」を「 1 」に設定する。そうすると、 1 文字ずつ半角スペースが入った状態で表示されますが、「 Long comments are chopped off at 」の文字数通りにコメントが抜粋されます。
1 文字置きにスペースが入ったままでは間抜けなので、スタイルシートの該当箇所に「 letter-spacing: -0.3ex; 」とつけました。かなり強引。

本当は PHP で半角スペースを除外する方法があればいいんだけれどねぇ。「 get_recent_comments(); 」の戻り値は PHP で処理できる値なんだろうか。もし知っている方いらっしゃったら教えてください。

関連記事

【 WordPress 】コメント時に画像認証を導入した【スパム対策】
WordPress
thumbnail ぼやき
WordPress のコメントとトラックバックを分けて表示する【 Trackping Separator 】
WordPress
thumbnail ぼやき
FeedBurner を使ってみることにした
WordPress
thumbnail ぼやき
WordPress で Lightbox 的効果をつける【 Slimbox Plugin 】
WordPress
thumbnail ぼやき
 WordPress のメニューツリー表示 WP-dTree を外した
WordPress
thumbnail ぼやき
WordPress 外部リンクを表示しれくれるプラグイン【 Link Indication Plugin 】
WordPress
thumbnail ぼやき