【WordPress】コメントが自動承認されない!今すぐ解決する方法

私が運営しているWordPressサイトで、承認済みユーザーのコメントでも自動承認されず、毎回承認待ちになってしまう問題が発生していました。

メールアドレス欄を非表示にしていることが原因かと思いましたが、テストでインストールした直後のWordPressで名前・メールアドレスを入力しても自動承認されず。

そこで、WordPressのコメント自動承認プロセスを棄て、承認済みコメントと名前・IPアドレス一致で自動承認にして解決したのでやり方を解説します。

トラブルの状況

  • 承認済みユーザーのコメントでも自動承認されない
  • ログインユーザーのコメントは自動承認される
  • 「設定」-「ディスカッション」の「コメントの手動承認を必須にする」はオフ
    「すでに承認されたコメントの投稿者のコメントを許可し、それ以外のコメントを承認待ちにする」はオン
  • メールアドレス欄非表示はもちろん、同じ名前・メールアドレスを入力しても自動承認されない
  • インストール直後のWordPressでも状況変わらず
  • WordPressのバージョンは6.8.2

自動承認パターン別コード

自動承認のパターン別に2つのコードを紹介します。
希望するどちらか一つのコードを、使用しているテーマの functions.php に貼り付けて下さい。

おすすめは「承認済コメントと名前・IPアドレスが一致したら自動承認」です。

スパム以外のコメントはすべて自動承認

スパム判定されたコメント以外は、すべて自動承認します。
Akismet等がスパム判定したメールも承認待ちになります。

承認済コメントと名前・IPアドレスが一致したら自動承認

承認済みのコメントと「名前とIPアドレス」が一致したら、そのコメントを自動的に承認します。
名前が未入力(匿名コメント)の場合でも、過去に匿名で同じIPから投稿された承認済みコメントがあれば自動承認されます。

メールアドレス欄を非表示にしていても問題なく動作します。

まとめ

今回紹介したコードを使えば、承認済みのユーザーでも毎回承認待ちになる不具合を解消し、本来の承認フローで動作するようになります。

お好みのパターンでコメント運用してみて下さい。