¿Averigua qué moderador aprobó el comentario?

11

¿Hay alguna forma de averiguar qué moderadores han aprobado un comentario y luego mostrar esa información en el front-end?

p.ej

John dice: "Este es un gran artículo" - Aprobado por Admin1

James
fuente
1
Este tipo de datos no se guarda de forma nativa. Por lo tanto, primero deberá comenzar a capturar y almacenar dicha información.
Rarst
suspiro pensé tan bien. Realmente necesito conseguir un desarrollador :( ¡Gracias por la ayuda Rarst!
James
1
@Rarst estaríamos hablando de engancharnos a algo como: add_action('comment_unapproved_to_approved', 'comment_approved');
MartinJJ
@ Martin, ni idea, no había mirado el código. Hay varios modos de tratar los comentarios (administrador, correos electrónicos de notificación, XML-RPC) y no estoy seguro de cuán conectable es todo.
Rarst

Respuestas:

8

Para grabar el moderador que aprueba el comentario:

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' );

Para mostrarlo después del texto del comentario:

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
fuente
2
+1 @Hameedullah, estaba construyendo la función de pantalla para mi esfuerzo ... reconfortante saber para un alumno como yo que mi función de registro es casi exacta a la tuya, así que estaba en el camino correcto ...
MartinJJ
2
Me alegro de que ambos estemos en el camino correcto, ya que yo mismo sigo aprendiendo.
Hameedullah Khan