English

最近のコメントプラグインRecent Commentsのカスタマイズ (mb_substr で文字化け解消)

2009/3/11 (水曜日) | Filed under: Customise

私が配布しているWordPress Themeのテンプレートでは最近のコメントプラグイン、Recent Commentsが使用できるように設定してあります。WordPress2.7からは、最近のコメントがウィジェットに用意されていますが…。

best essay writing service

最近の投稿のプラグインRecent Commentsでコメントの抜粋を表示させるのに、日本語だとコメントの文章が上手く抜粋できず全文が表示されてしまいます。そこでwp-content/plugins/recent-comments/recent-comments.phpを開いて25行目を見てみてください。

$words=split(" ",$comment_content);

で単語を数えるようになっているのですが、日本語の場合、単語ごとにスペースが入らないため上手くカウントされません。そこで25行目と26行目の

$words=split(" ",$comment_content);
$comment_excerpt = join(" ",array_slice($words,0,$comment_lenth));

を日本語用に以下のように変更してみました。// とコメントアウトしたのですが、25行目と26行目を削除してしまっても構いません。

// $words=split(" ",$comment_content);
// $comment_excerpt = join(" ",array_slice($words,0,$comment_lenth));
$comment_excerpt = mb_substr($comment_content,0, 20);

抜粋文章語に『…』を加えたい場合は42行目(カスタマイズした後の行数です)

$output .= '" title="View the entire comment by ' . $comment_author.'">' . $comment_excerpt.'' . $after;

の $comment_excerpt.''にを加え…$comment_excerpt.'…'とすると、抜粋コメント以降に『…』と点がつきます。

2009年11月追記:
クライアントの方が『さくらインターネット』を使用しているのですが、このサーバーだと、上のように表記しても文字化けしてしまいました。その場合は以下のように、一番最後に使用している文字コード(utf-8)を入れる事により解決しました。

$comment_excerpt = mb_substr($comment_content,0, 20,'utf-8');
zp8497586rq

現在、コメントフォームは閉鎖中です。