Flector

Как установить свой аватар по умолчанию?

Свой аватар по умолчанию

В качестве аватаров WordPress использует граватары (аватары, привязанные к email на сайте Gravatar). Для тех пользователей, у которых не установлен граватар движок будет выводить аватар по умолчанию, который задается в разделе "Настройки\Обсуждение". Выбрать можно только из предложенных вариантов, поэтому, чтобы использовать свою собственную картинку в качестве аватара необходимо добавить в файл functions.php вашей темы следующий код:

//свой аватар по умолчанию start
function wph_custom_avatar($avatar_defaults) {
    $logo = get_bloginfo('template_directory') . '/myavatar.gif';
    $avatar_defaults[$logo] = 'Новый аватар';
    return $avatar_defaults;
}
add_filter('avatar_defaults', 'wph_custom_avatar');
//свой аватар по умолчанию end

В данном примере новым аватаром по умолчанию будет установлена картинка myavatar.gif, которая должна находиться в корне папки текущей темы.

Очень важное замечание - из-за особенностей работы граватаров в WordPress данный сниппет не будет работать на локальном сервере или на любом другом сервере, который не имеет внешнего интернет доступа к себе (сервис граватаров должен иметь доступ к картинке аватара). Да и на открытом сервере картинка аватара начнет выводиться лишь спустя 5-10 минут после применения данного кода.


Комментарии (12 комментариев)
  1. pool:

    Спасибо

  2. Спасибо. Все получилось.
    Только вот сейчас хочу поменять тот аватор, что я поменял, а он не меняется, даже если его из темы удалить по ftp.
    Попробую удалить код из файла функций и подождать часок, потом верну. Может получиться.

  3. В общем смог решить вопрос только переименовав файл аватора и изменив соответственно имя файла в коде.

  4. А у меня ни с одного сайта это решение не работает, не могу понять почему. В списке аватарок появляется, но без превьюшки. Превьюшка (в коде страницы) ссылается на сайт граватара, с дальнейшим /wp-content/themes/моя_тема/etc...

    Уже день бьюсь, блин((

    • Flector:

      ошиблись в коде?

    • Сергей:

      У меня тоже самое.

      • Flector:

        а подробнее?

        • Сергей:

          Я понял, видимо это потому-что на локальном пробую. А есть решение для локального сервера?

        • Flector:

          вам не все равно, как это будет на локальном, если это будет прекрасно работать на реальном сервере?

  5. Сергей:

    Поставил последнюю версию на локальный WP 4.7.3 В настройках>обсуждение картинки нет, только текст "Новый аватар"

    в html у картинки src ссылкается на gravatar.com ссылка следующая:
    src="http://2.gravatar.com/avatar/84c62a03db27ac2cb9d5bf38ae14197b?s=32&d=http%3A%2F%2Fwptest.rus%2Fwp-content%2Fthemes%2Ftwentyseventeen%2Fmyavatar.png&f=y&r=g"

    Попробую ещё не на локальном

    • Flector:

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

  6. а как сделать так, чтобы комментарии оставлялись из под профилей соцсетей?

Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!