All UseradminのUsername列からGravatarイメージを削除する方法ページ?
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' );
更新: '全ユーザ'ページのみに制限します。
pre_option_show_avatars
をフィルタリングし、FALSE
と評価されるがFALSE
ではないものを返す必要があります。 0
と言いましょう。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;
}
設定を解除するための特別なアバター列がないため(アバターはユーザー名の内側にありますcolumn)、代わりに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');
管理者以外のユーザーには表示されません。
結果は次のようになります。
これは古いスレッドですが、他の誰かがそれを必要とする場合のために:バージョン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 '';
}