Как полностью отключить Gravatar на сайте WordPress?

Как полностью отключить Gravatar на сайте WordPress?

Вот код, который админу сайта присваивает свою аватар,
А всем остальным рандомно 8 аватаров

отключает Gravatar на сайте WordPress

Добавить в functions.php


add_filter( 'get_avatar_url', 'simple_random_avatars', 10, 3 );
function simple_random_avatars( $url, $id_or_email, $args ) {

    $admin_avatar = '/wp-content/uploads/avatar-admin.png';

    $icons = array(
        '/wp-content/uploads/2026/07/icons1.png',
        '/wp-content/uploads/2026/07/icons2.png',
        '/wp-content/uploads/2026/07/icons3.png',
        '/wp-content/uploads/2026/07/icons4.png',
        '/wp-content/uploads/2026/07/icons5.png',
        '/wp-content/uploads/2026/07/icons6.png',
        '/wp-content/uploads/2026/07/icons7.png',
        '/wp-content/uploads/2026/07/icons8.png',
    );

    // Извлекаем email
    $email = '';
    if ( is_numeric( $id_or_email ) ) {
        $user = get_user_by( 'id', (int) $id_or_email );
        if ( $user ) $email = $user->user_email;
    } elseif ( is_string( $id_or_email ) ) {
        $email = $id_or_email;
    } elseif ( $id_or_email instanceof WP_User ) {
        $email = $id_or_email->user_email;
    } elseif ( $id_or_email instanceof WP_Comment ) {
        $email = $id_or_email->comment_author_email;
    }

    // Админ — его аватар
    if ( ! empty( $email ) ) {
        $user = get_user_by( 'email', $email );
        if ( $user && in_array( 'administrator', (array) $user->roles, true ) ) {
            return home_url( $admin_avatar );
        }
    }

    // Все остальные — случайная иконка
    return home_url( $icons[ array_rand( $icons ) ] );
}
guest
Закрыть меню