Как удалить Gravatar из столбца пользователя

Как удалить изображение Gravatar из столбца Username на странице « Все пользователи» ?

введите описание изображения здесь

Solutions Collecting From Web of "Как удалить Gravatar из столбца пользователя"

Поскольку нет специального столбца аватара для отмены (аватары находятся внутри столбца имени пользователя ), вы можете попытаться скрыть аватары с помощью css:

function hide_avatars_wpse_94126() { if(!current_user_can('manage_options')){ // hide only for non-admins echo "<style>.users td.username img.avatar{display:none !important;}</style>"; } } add_action('admin_head-users.php','hide_avatars_wpse_94126'); 

где они скрыты для не-админов.

Результат будет таким:

Скрыть аватары

  1. Вы должны фильтровать pre_option_show_avatars и возвращать то, что оценивается как FALSE но не FALSE . Скажем, 0 .
  2. Вы должны ограничить этот фильтр на страницах списка пользователей.
    • На одном сайте правильное действие – restrict_manage_users .
    • На экране управления сетью, который может быть restrict_manage_users-network , но это не работает, поэтому мы используем фильтр wpmu_users_columns и возвращаем все, что мы получаем здесь.

Результат:

 add_filter( 'wpmu_users_columns', 'no_avatars_in_user_list' ); add_action( 'restrict_manage_users', 'no_avatars_in_user_list' ); function no_avatars_in_user_list( $in = NULL ) { add_filter( 'pre_option_show_avatars', '__return_zero' ); return $in; } 

Кажется, фильтр для функции get_avatar . Поэтому я просто выводю на него пустую строку.

 function remove_avatar_from_users_list( $avatar ) { if (is_admin()) { global $current_screen; if ( $current_screen->base == 'users' ) { $avatar = ''; } } return $avatar; } add_filter( 'get_avatar', 'remove_avatar_from_users_list' ); 

UPDATE: ограничение только на странице « Все пользователи ».

Это старый поток, но на всякий случай кому-то это нужно: начиная с версии 4.2, вы можете использовать фильтр pre_get_avatar чтобы обходить потянув фактический аватар и просто отправить пустую строку.

 add_filter( 'pre_get_avatar', 'rkv_remove_avatar_from_list', 10, 3 ); /** * Remove the avatar from just the user list. * * @param string $avatar HTML for the user's avatar. Default null. * @param mixed $id_or_email The Gravatar to retrieve. Accepts a user_id, gravatar md5 hash, * user email, WP_User object, WP_Post object, or WP_Comment object. * @param array $args Arguments passed to get_avatar_url(), after processing. * * @return string An empty string. */ function rkv_remove_avatar_from_list( $avatar, $id_or_email, $args ) { // Do our normal thing on non-admin or our screen function is missing. if ( ! is_admin() || ! function_exists( 'get_current_screen' ) ) { return $avatar; } // Get my current screen. $screen = get_current_screen(); // Bail without the object. if ( empty( $screen ) || ! is_object( $screen ) || empty( $screen->base ) || 'users' !== $screen->base ) { return $avatar; } // Return an empty string. return ''; }