Découvrez quel modérateur a approuvé le commentaire?

11

Existe-t-il un moyen de savoir quels modérateurs ont approuvé un commentaire, puis d'afficher ces informations sur le front-end?

par exemple

John dit: "Ceci est un excellent article" - Approuvé par Admin1

James
la source
1
Ce type de données n'est pas enregistré nativement. Vous devrez donc commencer par capturer et stocker ces informations en premier.
Rarst
soupir, je pensais si bien. J'ai vraiment besoin de me trouver un développeur :( Merci pour l'aide Rarst!
James
1
@Rarst parlerions-nous d'accrocher quelque chose comme: add_action('comment_unapproved_to_approved', 'comment_approved');
MartinJJ
@Martin aucune idée, n'avait pas regardé le code. Il existe plusieurs façons de traiter les commentaires (admin, e-mails de notification, XML-RPC) et je ne sais pas à quel point tout cela peut être accroché.
2011

Réponses:

8

Pour enregistrer le modérateur qui approuve le commentaire:

function wpse_comment_moderator_log( $comment ) {
    global $current_user;
    get_currentuserinfo();

    update_comment_meta( $comment->comment_ID, 'approved_by', $current_user->user_login );
}
add_action( 'comment_unapproved_to_approved', 'wpse_comment_moderator_log' );

Pour l'afficher après le texte du commentaire:

function wpse_display_moderator( $comment_text, $comment ) {
    $approved_by = get_comment_meta( $comment->comment_ID, 'approved_by', true );
    if ( $approved_by ) {
        $comment_text .= " - Approved by $approved_by";
    }
    return $comment_text;
}
add_filter( 'comment_text', 'wpse_display_moderator', 99, 2 );
Hameedullah Khan
la source
2
+1 @Hameedullah, je construisais simplement la fonction d'affichage pour mon effort .. réconfortant de savoir pour un apprenant comme moi que ma fonction d'enregistrement est presque exacte à la vôtre , donc je suis sur la bonne voie ....
MartinJJ
2
Heureux que nous soyons tous deux sur la bonne voie, car je suis moi-même encore un apprenant.
Hameedullah Khan