wordpressのコメントを自動承認にする方法

今まで自動承認されていたコメントが、なぜか承認必須になったと問い合わせが来た。
何かをやった覚えは無いが、何もやってないと言い切れる程でも無かったので、ちょっと調べてみた。

設定で対応出来る場合

「wordpress コメント 自動承認」とか「wordpress comment automatic approval」とかで検索すると、管理画面の「設定」→「ディスカッション」にある「コメント表示条件」のチェックを全て外せばOKと書いてある記事が沢山見つかる。

設定画面

しかし、今回のケースでは上のキャプチャのようにチェックは外れていた。
というか、ここを触った記憶も無し。

functions.phpで対応する

仕方ないので、何かフィルターが無いかと思ったら「pre_comment_approved」というフィルターがあった。

pre comment approved – WordPress Codex

function my__comment_filter($approved, $commentdata) {
    if ($approved !== 'spam') {
        return 1;
    }
    return $approved;
}
add_filter('pre_comment_approved', 'my_comment_filter', 1, 2);

こんな感じで、スパム判定されたコメント以外は全て1(承認)を返すようにしたら自動承認になった。

まとめ

wordpressは、ソースを眺めると大抵フィルターとかアクションが設定されていたりするので、困ったらググるか、ソースを眺めてみると良い事が見つかる気がする。

コメント

タイトルとURLをコピーしました