toscho.design

WordPress: Kommentarmoderation für angemeldete Nutzer abschalten

Zwingt man den ersten Kommentar eines Lesers automatisch in die Moderation, so kann man sich viel Spam ersparen. Allerdings behandelt WordPress hierbei alle Kommentare gleich – selbst die angemeldeter Nutzer werden nur dann sofort freigeschaltet, wenn sie …

  • Autor des kommentierten Beitrages sind,
  • sowieso Kommentare moderieren dürfen oder
  • schon einen genehmigten Kommentar in der Datenbank stehen haben (gelöschte Kommentare werden nicht berücksichtigt).

Das ist sinnvoll, wenn sich jeder einfach so anmelden kann. Ansonsten nervt es ein bißchen. Glücklicherweise gibt es einen passenden Filter: 'pre_comment_approved'. Geben wir hier für angemeldete Nutzer eine 1 zurück, so geht der Kommentar durch.

Plugin auf GitHub: https://gist.github.com/3433535

add_filter( 'pre_comment_approved', 't5_approve_logged_in_users' );

/**
 * Auto-approve comments from logged in users.
 *
 * @wp-hook pre_comment_approved
 * @param   int $approved Current approval status, 0 or 1
 * @return  int
 */
function t5_approve_logged_in_users( $approved )
{
    return is_user_logged_in() ? 1 : $approved;
}

Auch dieser Schnipsel ist auf WordPress Stack Exchange entstanden.