В плагине Лейка (плагин для пожертвований), если пользователь делает пожертвование, то ему добавляется роль Донор. Поэтому можно добавить бейдж в комментариях и отзывах на сайте, чтобы этим людям было приятно.
Необходимо включить аватарки на сайте, потому что мы добавляем бейдж по сути в аватарку.

add_filter( 'get_avatar', 'avs_add_donor_badge_to_avatar', 10, 3 );
function avs_add_donor_badge_to_avatar( $avatar_html, $id_or_email, $args ) {
$donor_role = apply_filters( 'avs_donor_role_slug', 'donor' );
// определяем user_id
$user_id = 0;
if ( is_numeric( $id_or_email ) ) {
$user_id = (int) $id_or_email;
} elseif ( $id_or_email instanceof WP_User ) {
$user_id = $id_or_email->ID;
} elseif ( $id_or_email instanceof WP_Comment ) {
$user_id = (int) $id_or_email->user_id;
} elseif ( is_object( $id_or_email ) && ! empty( $id_or_email->user_id ) ) {
$user_id = (int) $id_or_email->user_id;
} else {
$user = get_user_by( 'email', (string) $id_or_email );
if ( $user ) {
$user_id = $user->ID;
}
}
if ( ! $user_id ) {
return $avatar_html;
}
$user = get_userdata( $user_id );
if ( ! $user ) return $avatar_html;
if ( empty( $user->roles ) || ! in_array( $donor_role, (array) $user->roles, true ) ) {
return $avatar_html;
}
if ( is_admin() ) {
return $avatar_html;
}
$in_comment_context = false;
global $comment;
if ( isset( $comment ) && $comment instanceof WP_Comment && (int) $comment->user_id === $user_id ) {
$in_comment_context = true;
}
if ( ! $in_comment_context && is_array( $args ) && ! empty( $args['comment'] ) && $args['comment'] instanceof WP_Comment && (int) $args['comment']->user_id === $user_id ) {
$in_comment_context = true;
}
if ( ! $in_comment_context ) {
return $avatar_html;
}
$badge_text = apply_filters( 'avs_donor_badge_text', __( 'Помогаю приютам', 'your-text-domain' ) );
$badge = '<span class="avs-donor-badge" aria-hidden="false">' . esc_html( $badge_text ) . '</span>';
if ( strpos( $avatar_html, 'avs-avatar-with-badge' ) === false ) {
$html = '<div class="avs-avatar-with-badge">';
$html .= $avatar_html;
$html .= $badge;
$html .= '</div>';
return $html;
}
return $avatar_html;
}Ну и немного css:
.avs-avatar-with-badge .avs-donor-badge {display:flex;margin-bottom:2px;font-size: 12px;color: #fff;background: #4f9e17;padding: 4px 8px;border-radius: 100px;font-weight:600;}На основании ролей можно таким образом вывести любые бейджи.