Ваш путь: Главная » WordPress без плагинов, Сниппеты, хаки, функции » текущая страница

возможно заказать разработку или сопровождение, услуги вашего сайта/блога


обновлено: 2023-03-26 в теме: WordPress без плагинов; Сниппеты, хаки, функции
Запросто с WordPress создание и продвижение сайтов ATs media

Добавляем индивидуальную аватарку для конкретного пользователя (автора) на сайте – без плагинов!

Если на вашем сайте нужно установить аватар для конкретного автора, т.е. в этом случае не работать с сервисом Gravatar, а задать картинку локально для конкретного пользователя, то в посте и решим эту задачу.

Помимо прочего – средствами функции – возможно организовать адресное сообщение для автора – видимое всем, или только ему (разумеется, настройки в админке). К примеру, поздравить с Днем Рождения и пр.

 

В тексте ниже дам упрощенный вариант, организуем – только локальный аватар для конкретного автора. Если кому-то потребуется более расширенная функция для решения по теме затронутой задачи, пишите:

 


 

 

 

 

Как известно, касаемо настроек аватарок пользователей, есть решение – плагин One User Avatar. Однако, не всем по душе использование плагинов…

 

…к тому же, если это не оправдано: к примеру, у вас несколько авторов, и все они (или кто-то из них) не пользуются сервисом граватар, а следовательно не имеют личной картинки в блоке авторства поста и при комментировании – в этом случае им требуется задать индивидуальную аву… установить и забыть… В общем-то плагин не нужен…

 

 

Сначала дам сниппет, который решает задачу “пустых” аватарок – без картинки. Либо вам не по душе варианты по умолчанию в Настройки/Обсуждение и вы хотите сделать так, как реализовано на моем тестовом сайте (скрин ниже):

 

 

Как изменить стандартный аватар по умолчанию в WordPress

 

 

К примеру, возможно задать собственный фирменный аватар сайта (для комментаторов БЕЗ аватара), который будет лишний раз напоминать о деятельности вашей площадки, напоминания о бренде, так сказать… Вообще, если прикинуть, то вариантов использования подмены аватара пользователя масса!.. и ключевая особенность здесь не комментирование.

 

 

 

преимуществом сервиса Граватар является факт того, что, при комментировании на сайтах посредством вашей эл/почты (коя зарегина в сервисе), ваша фотка (аватар) будет выведен автоматически на любом из сайтов!

 

 

 

Решение в следующей главе (опишу решение вкратце: едва ли нужно расписывать подробно):

 

 

 

Как изменить стандартный аватар по умолчанию в WordPress

 

 

Зададим свой фирменный аватар для комментаторов БЕЗ аватара – добавь данный код в ядро своего сайта (в functions.php (файл функций) например):

 

 

/*зададим свой фирменный аватар для комментаторов БЕЗ аватара*/
//
add_filter( 'avatar_defaults', 'ats_new_avatar_authors' ); //фильтруем данные
function ats_new_avatar_authors( $avatars ) {
$url = get_stylesheet_directory_uri() . '/images/logo-ava.jpg'; //указываем путь к картинке
$avatars[ $url ] = 'Аватар сайта такого-то'; //подсказка в админке
return $avatars;
}
/*зададим свой фирменный аватар для комментаторов БЕЗ аватара*/

 

 

 

Недостатком (или для кого-то достоинством) данной метОды можно считать тот факт, что при организации придется идти в админку и устанавливать заданный аватар (по скрину выше).

 

То есть, при желании модернизации метода, придется что-то как-то комбинировать… для примера, рассмотрим вариант ниж.

 

 

 

Напоминаю: фирменная аватарка будет добавлена комментатору только в том случае, если он не имеет личной картинки в сервисе Gravatar!..

 

 

Добавим в профиль пользователя дополнительный блок об Авторе: без плагина

 

 

задаем именной аватар для конкретного пользователя (автора) на сайте

 

 

Показанный ниже сниппет решает задачу по теме, когда вам требуется изменить аватар для конкретного пользователя локально (внутри сайта) – по идентификатору юзера – по ID (id показан в настройках Пользователи).

 

 

…добавим код, который задает локальный аватар пользователю: (можно добавить в файл в файл функций активного или дочернего шаблона):

 

 

 

/*задаем именной аватар для конкретного пользователя (автора) на сайте*/
add_filter( 'get_avatar', 'atsmy_customs_avatars' , 1 , 5 );
function atsmy_customs_avatars( $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 );
} elseif ( 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 ) ) {
$avausid = '/wp-content/themes/шаблон/images/avaNews.jpg'; //указываем путь до картинки в ядре шаблона: можно аву загрузить в ядро сайта: img/avaNews.jpg (расширение файла картинки любое)
if ( $user->data->ID == '5' ) { //указываем id пользователя
$avatar = sprintf( $avausid, get_stylesheet_directory_uri() );
$avatar = "<img alt='{$alt}' src='{$avatar}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />"; //переменная формирования вывода данных ссылки
}
}
return $avatar;
}
/*задаем именной аватар для конкретного пользователя (автора) на сайте*/

 

 

 

Преимущества данного сниппета перед первым вариантом: данная функция отработает жестко: то есть администратор сможет самостоятельно задавать аватары любому пользователю!.. Никаких дополнительных действий совершать не нужно!..

 

 

 

Функция comment_form()

Как добавить аватарку к имени автора (данные Об авторе) — в начале или финале статьи

 

 

плагины для организации аватарок в WordPress

 

 

  • Упоминаемый выше – One User Avatar;
  • Basic User Avatars – загрузка через профиль пользователя (и во фронте);
  • Avatar Manager – настройки в профиле (сервис gravatar не требуется) – возможности через функцию get_avatar();
  • Add New Default Avatar;
  • WP First Letter Avatar.

 

 

Что из себя в итоге представляют и как работают плагины в плане качества – не знаю, не пользовался.

 

 

Задаем аватар для конкретного пользователя (автора) сайта

 

 

 

напоминаю: если кого-то интересует данная тема более утонченно – обращайтесь… Организуем или в шаблоне, или создадим плагин. Настройки выведем в админке в разделе на ваше усмотрение.

 

Словом, организуем так, как нужно!..

 

 

 

Создание… продвижение сайтов: студия ATs media запросто с WordPress

 

 

 

 

 

Как правильно закомментировать на время код HTML, CSS или PHP, JS

 

 



...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !



Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...





Нажатия на кнопочки определяют Ваше высокое гражданское сознание

Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©


  1. Здравствуйе!
    А можно как то для переменной $alt получить данные? Ну, чтоб потом на экран (в код) алт и титле вывести…

    Ответить - Сергей

    • Привет, Сергей!
      Попробуйте получить данные так (добавьте в код эти строки):

          //$alt = 'имя'; //произвольное имя
          $user       = get_userdata( 22 ); //получаем данные пользователя: 22 id  
          $username   = $user->user_login;
          $first_name = $user->first_name;
          $last_name  = $user->last_name;

      …а далее выводите значения переменных где нужно.

      Ответить - Михаил