切り替え式 Akismet de-spam view Hack

Akismetに日本語フィルタを装備するAkismet de-spam view Hackを、オン・オフ出来るようにするハックを紹介します。

Akismet de-spam view Hackをオン・オフするハック適用方法

akismet.phpの272行目付近を以下のように変更します。使用したAkismetのバージョンは1.2.1ですが、以前のバージョンでも同様の箇所を見つければ使えるはずです。(バージョン1.6では287行目)

$mb_checker = ($_GET['show_both']) ? "" : "AND LENGTH(comment_content) <> CHAR_LENGTH(comment_content)";
$comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_approved = 'spam' $mb_checker ORDER BY comment_date DESC LIMIT $start, $end");
$total = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = 'spam' $mb_checker" );

日本語フィルタをオン・オフする方法

show_both=1という引数を渡すとフィルターがオフになります。

  1. Akismetの画面を表示
  2. ブラウザのURL欄の末尾に「&show_both=1」を書き足す
  3. Enterキーを押す

滅多に使わないのと、あちこち改造するとバージョンアップ時に面倒なので切り替えボタンはつけませんでした。必要な方はakismet.phpの255行目付近に切り替え用リンクを作ってください。

このコードを書いた後に、すでに同じ事を紹介しているサイトを見つけてしまいました……。効果は同じですが、コードは少し違うので公開しておきます。

関連記事:
コメントスパム対策Akismet導入方法
日本語スパム数を表示するプラグイン

TrackBack URIhttp://bd.dotted.jp/archives/104/trackback/

Leave a Reply