web-dev-qa-db-ja.com

ログインしているユーザーに、マルチサイトインストール全体でモデレーションなしでコメントを許可する

私は現在BuddyPressとMulti Siteをベースにしたインターネットコミュニティのウェブ管理をしています。そしてComment author must have a previously approved comment設定を使ってユーザーがコメントしやすく、モデレートされないようにします。アカウントが作成される前にすべてのユーザーが精査されるため、スパムボットがないことがわかります。

しかしそれは私が望んでいるようには全く振舞いません、そして私が望むものを達成する方法があるかどうか疑問に思います。理想的には、

  1. サブサイトの所有者が「管理者は常にコメントを承認する必要があります」にチェックマークを付けていない限り、ログインしているすべてのユーザーが、コメントする権利があることを緩和することなくマルチサイト上の任意の場所にコメントできます。
  2. ログインしていないコメントがマルチサイトのどこかで承認されたことがある場合は常に承認されるようにします。 (現在のところ、新しいコメントが以前に承認された同じサイト上の同じ作者による投稿にある場合にのみ機能します)

これは既存の設定またはプラグインを使用して可能ですか?そうでなければそれは別の方法で達成することができますそしてそうであればどうですか?

2
AntonChanning

'pre_comment_approved'にフックしてその戻り値を変更することができます。サンプルコード、テストされていません:

add_filter( 'pre_comment_approved', 'wpse47172_approve_logged_in_users' );

function wpse47172_approve_logged_in_users( $approved )
{
    return is_user_logged_in() ? 1 : $approved;
}
2
fuxia