Настройка — Изменить Только Аватар Администратора (Без Gravatar Или Плагина)?

  • Автор темы YNG
  • Обновлено
  • 21, Oct 2024
  • #1

Мне не нравится идея использования Gravatar, и я не хочу, чтобы мои пользователи могли менять свой аватар. Однако я хочу заменить аватар только для роли администратора. Можно ли это сделать без использования плагина и без Gravatar?

Я нашел фрагменты кода для замены граватара по умолчанию, но это будет доступно всем пользователям по всему сайту. Я хочу только заменить аватарку администратора.

Спасибо!

#кастомизация #аватар

YNG


Рег
24 Apr, 2007

Тем
54

Постов
185

Баллов
485
  • 25, Oct 2024
  • #2

Возможно, я нашел решение. Вроде работает, но может я что-то упускаю?

 function custom_user_avatar( $avatar, $id_or_email, $size, $default, $alt ) {

$user = false;

if ( is_numeric( $id_or_email ) ) {

$id = (int) $id_or_email;

$user = get_user_by( 'id' , $id );

} else if ( is_object( $id_or_email ) ) {

if ( ! empty( $id_or_email->user_id ) ) {

$id = (int) $id_or_email->user_id;

$user = get_user_by( 'id' , $id );

}

} else {

$user = get_user_by( 'email', $id_or_email );

}

if ( $user && is_object( $user ) ) {

if ( $user->data->ID == '1' ) {

$avatar = sprintf( '%s/images/avatar/support-male.png', get_stylesheet_directory_uri() );

$avatar = "<img alt='{$альт}' src='{$avatar}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";

}

else if ( $user->data->ID == '200' ) {

$avatar = sprintf( '%s/images/avatar/support-female.png', get_stylesheet_directory_uri() );

$avatar = "<img alt='{$альт}' src='{$avatar}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";

}

else {

$avatar = sprintf( '%s/images/avatar/default.png', get_stylesheet_directory_uri() );

$avatar = "<img alt='{$альт}' src='{$avatar}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";

}

}

return $avatar;
}
add_filter( 'get_avatar' , 'custom_user_avatar' , 1 , 5 );
 
 

AStarLoroNah


Рег
03 Feb, 2014

Тем
77

Постов
170

Баллов
605
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно