Узнайте, какой модератор одобрил комментарий?

11

Есть ли способ узнать, какие модераторы одобрили комментарий, а затем отобразить эту информацию на внешнем интерфейсе?

например

Джон говорит: «Это отличная статья» - одобрен Admin1

Джеймс
источник
1
Этот вид данных не сохраняется изначально. Таким образом, вам нужно будет начать сбор и хранение такой информации в первую очередь.
Первое
вздох я так хорошо думал. Мне действительно нужно, чтобы я стал разработчиком :( Спасибо за помощь Rarst!
Джеймс
1
@ Во-первых, мы бы поговорили о чем-то вроде: add_action('comment_unapproved_to_approved', 'comment_approved');
MartinJJ
@ Мартин не знаю, не смотрел на код. Есть несколько способов обработки комментариев (администратор, уведомления по электронной почте, XML-RPC), и я не уверен, насколько все это можно подключить.
Первое

Ответы:

8

Чтобы записать модератора, который одобряет комментарий:

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

Чтобы отобразить его после текста комментария:

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 );
Хамидулла Хан
источник
2
+1 @Hameedullah, я просто строил функцию отображения для моих усилий… мне было приятно узнать, что такой ученик, как я, почти полностью соответствует вашей функции записи, поэтому я был на правильном пути…
MartinJJ
2
Рад, что мы оба на правильном пути, так как я сам еще учусь.
Хамидулла Хан