Хаки WordPress — делаем стилизованный аватар для Человека-загадка

личный аватар на сайтЕсли у Вас на блоге WordPress поле комментариев поддерживает вывод небольших аватаров (картинок), то Вы обращали внимание, что у некоторых людей есть свой персональный аватар (фото или просто картинка), а у части людей выводится Человек-загадка, либо буква G на синем фоне.

Все дело в сервисе Gravatar.com, который позволяет прикрепить к своему E-mail персональную картинку. У тех же, кто не зарегистрирован на данном сервисе, на Вашем блоге выводится картинка по-умолчанию, которую мы сегодня и будем менять на произвольную, выбранную Вами лично.

Показываю для наглядности, о чем идет речь:

сделать аватар по умолчанию

Если Вы до сих пор не зарегистрированы на Gravatar.com, либо не знаете как и что там делать, то читайте статью Gravatar — аватарка для каждого комментатора, после чего все вопросы отпадут.

Первым идет аватар человека со стрелкой, т.к. он именно такую картинку поставил на сервисе Gravatar.com. Далее мое лицо, которое я так же привязал к почтовому ящику на том же сервисе. А вот третий аватар, на котором надпись "У меня нет своего Gravatar. Я бедный(" - это уже мое "художество"))).

По умолчанию на всех блогах стоит Человек-загадка. Мы можем выбрать и другой рисунок из предложенных, но они попадаются на большом количестве блогов, что мне не понравилось. Именно поэтому в стандартный список мы сегодня добавим свою картинку.

Делаем свой аватар для комментаторов

Перечисляю список того, что нам понадобится:

  1. Графический редактор (Photoshop, Paint или кто чем пользуется).
  2. Голова, руки и "пятая точка" на стуле.

Для начала делаем заготовку размером 64*64 пикселя с произвольным фоном и текстом/изображением. Дело Ваше, что будет на аватарке комментатора, который не зарегистрирован на граватаре.

Внимание
Прежде всего, перед тем, как приступить к практической части, не забывайте делать резервную копию файлов с которыми будете работать.

После того, как создали заготовку, нам необходимо ее загрузить на сервер в папку images, которую найдем в шаблоне блога. Если брать общую теорию, применимую в 98% случаев, то путь будет таким:

site.ru/wp-content/themes/название_вашего_шаблона/images/

Если папки images там не обнаружили, то с легкостью можно ее создать и уже потом поместить созданный аватар в нее.

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

add_filter( 'avatar_defaults', 'newgravatar' );
function newgravatar ($avatar_defaults) {
$myavatar = get_bloginfo('template_directory') . '/images/gravatar-mojwp.gif';
$avatar_defaults[$myavatar] = "Аватар для неимущих";
return $avatar_defaults;
}

Поясняю, что здесь в коде нужно изменить конкретно в Вашем случае:

  • /gravatar-mojwp.gif - здесь указываете название Вашей картинки. Старайтесь все названия картинок, которые загружаете на блог, делать на английском языке. Это будет Вам только в плюс.
  • Аватар для неимущих - а это произвольное название, которое и будет отображать в админке сайта в соответствующем разделе (смотрим картинку ниже).
Внимание
Помещать данный код нужно до закрывающего ?> (в самом конце). Просто сразу перед этим символом, на строку выше, вставьте предложенный код.

Сохранили файл functions.php и закачиваем назад на хостинг. После этого идем в админку сайта Параметры (у кого-то Настройки) ► Настройки обсуждения и прокручиваем страницу в самый низ, где видим следующую картину:

картинка для коментатора

Стрелочкой отмечена картинка, которую я создал представленным выше способом. Все что мне осталось сделать - это ее выбрать и нажать Сохранить. После этого можете идти на блог и смотреть на аватарки тех, кто не имеет аккаунта на Gravatar.com.

Если у Вас на сайте посетители могут регистрироваться, то полезным будет плагин Simple Local Avatars — как пользователю установить собственный аватар, при помощи которого зарегистрированный пользователь через админку сайта поставит свой личный аватар и ему не обязательно иметь аккаунт на Gravatar.

Как создать файл functions.php

При помощи текстового редактора Notepad++ (можно и другого, но я СОВЕТУЮ его) создаем новый файл и помещаем в него следующее:

<?php
 
?>

Вот как раз в пределах этих символов и следует помещать код. Далее нам остается сохранить новый файл под именем functions и расширением php. Как уже писалось выше, данный файл должен находиться в папке с шаблоном блога.

Поделитесь своими аватарками

Чтобы комментарий прошел автоматическую модерацию, перед ссылкой на свой блог в теле комментария поставьте нижнее подчеркивание, т.е. будет выглядеть так: _http://site.ru/post.html

Привет. Меня зовут Виталик и я автор этого блога, а так же Магазина WordPress https://wp-r.ru/.

Отблагодарить Z888279575784 R109400923968 или ЯД 41001651742138

Оказываю услуги по созданию и настройке сайтов на WordPress (верстка, натяжка).

Мои Контакты. Я в Twitter @mojWP. Смотри на Youtube. Читай RSS блога.

Опубликовано 24 комментария
  1. Максим (5 комм.) says:
    http://www.webdiabet.ru/

    Здравствуйте!!!
    У меня не сработал этот код к сожалению.

    • Виталий (1691 комм.) says:

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

  2. Максим (5 комм.) says:
    http://www.webdiabet.ru/

    Последовательность соблюдена. Может от версии WP зависит???

    • Виталий (1691 комм.) says:

      возможно. Статья год назад писалась. Проверю при случае.

  3. Максим (5 комм.) says:
    http://www.webdiabet.ru/

    Вот такого вида код сработал на моём сайте

    add_filter( 'avatar_defaults', 'newgravatar' );
    function newgravatar ($avatar_defaults) {
    $myavatar = get_bloginfo('template_directory') . '/images/gravatar-mojwp.gif';
    $avatar_defaults[$myavatar] = "Аватар для неимущих";
    return $avatar_defaults;
    }
    • Виталий (1691 комм.) says:

      Спасибо большое за настойчивость. Я действительно забыл указать filter в коде статьи)

  4. Максим (5 комм.) says:
    http://www.webdiabet.ru/

    Возник ещё один вопрос. А как при комментировании пользователи добавляют свою аватарку??? И как мне админу добавить свою аватарку???

    • Виталий (1691 комм.) says:

      пользователи через свою почту, которую привязывают к gravatar.com (на блоге есть статью по этому вопросу).
      Админ аналогично. либо плагином, который предложен в данной статье.

  5. Татьяна (9 комм.) says:
    http://moymk.ru

    Хм 🙂 Вот только-только обратила внимание, что "неимущие" у вас в блоге имеют красивый и достойный аватар, а не убогого чудо-монстрика как у меня, к примеру... Обязательно воспользуюсь, ужасно понравилось 🙂
    А у вас ведь вроде другой дизайн сайта был раньше...Темный... или черный... Или я ошибаюсь?

    • Виталий (1691 комм.) says:

      1. аватар "для неимущих" сменил))
      2. дизайн новый сделал месяца полтора назад

      • Татьяна (9 комм.) says:
        http://moymk.ru

        Виталий, здравствуйте. У меня не было в файле functions.php в самом конце знака <? Я добавила код и все сломалось... Сейчас восстанавливаю. Нужно было самой этот ? дописать? Чет я уже боюсь второй раз пробовать 🙂

        • Виталий (1691 комм.) says:

          Добрый. Он у вас должен был быть. Может стоял чуть выше. Теперь вы добавили второй, вот и "сломалось".
          Гляньте внимательно.

          • Татьяна (9 комм.) says:
            http://moymk.ru

            Нет его не было и я не дописывала. Странно. Может это вообще какой-то другой functions.php... путь сто раз проверила. Причем, если через админку сайта, то там все как надо и вопросы стоят. А через блокнот такое ощущение что это вообще другой файл. Там 3800 с лишним строк. На другом блоге посмотрела (у него скрин и всего 490 строк с небольшим. Это не показатель, конечно, но все равно... такая разница) Хочу граватар:(((

  6. Татьяна (9 комм.) says:
    http://moymk.ru

    Нашла я кажется этот нужный functions.php Проверьте, плиз... Вот такой путь у меня - pablic_html-адрес сайта-wp-content-themes-название темы-functions.php

    Правильно? А вчера я исправляла здесь 🙂
    pablic_html-адрес сайта-wp-includes-functions.php 🙂

    • Татьяна (9 комм.) says:
      http://moymk.ru

      Вообще ничего не понимаю 🙁 И так тоже не то. Решила - пусть мои будут с обычными страшными граватарами 🙁

    • Виталий (1691 комм.) says:

      В статье же написано, что файл functions.php будет лежать в папке с шаблоном.
      Все работает, в чем можете убедиться, посмотрев на аватарки не залогинившихся. Других действий, кроме описанных в статье, не принималось.

      • Татьяна (9 комм.) says:
        http://moymk.ru

        У меня получилось!!! Только я через админку в этот раз. Через Notepad+ почему-то не получалось. Ну хоть получилось 🙂 Класс! Теперь нужно размер найти как увеличить 🙂

  7. Елена (5 комм.) says:
    http://hobbymama.ru

    Спасибо, Виталий! Очень интересный и полезный пост. Впрочем, как и всегда! Казалось бы, мелочь, а аватар "человека-загадки" мне никогда не нравился. Но я даже не представляла, что это можно исправить.
    Не было времени долго подбирать картинку - уж очень хотелось испытать хак в действии. Все получилось!!! Солнышко в комментах - моих рук дело: _http://hobbymama.ru/polet-fantazii-monotipiya-dlya-detey.html

  8. Антон Куклинский (5 комм.) says:
    http://gde-dohod.ru/

    Виталий, приветствую!
    На моем блоге по какой-то причине родные шаблоны картинок авторов без граватара не показывались. Вместо них показываются пустые квадраты. Думал, что установка своей картинки изменит ситуацию. Сделал все как положено, но все равно остался пустой квадрат без картинки. Хотя в списке последних комментаторов в сайдбаре моя картинка показывается нормально.
    Не подскажешь, в чем может быть дело? Может где-то код нужно подкорректировать, чтобы картинки авторов без граватара нормально отображались?
    Буду очень благодарен за помощь!

    • Виталий (1691 комм.) says:
      http://mojWP.ru/

      Честно говоря, впервые с таким сталкиваюсь.
      Если на хостинге есть функция, то включите журнал ошибок PHP. Где-то плохо отрабатывает код. Это все что могу посоветовать на данный момент, не видя код.

  9. Максим (2 комм.) says:
    http://unusualthings.ru

    Спасибо за статью! Сегодня посетил кучу сайтов, что бы найти предложенную вами информацию. Буду осваивать ваш Хак.

  10. Надежда (7 комм.) says:
    http://myempeiria.ru/

    Спасибо! У меня все получилось. Но возникло 2 затруднения:
    1. В комментариях под стьями аватарки "неимущих" поменялись, но ссылка все равно идет через сервис граватаров - если посмтореть код эелмента. А я именно от обращения к этому сайту и хотела избиваться - для разгрузки сайта... Не пянятно, почему к картинки из папки шаблона идет обращение через ж...? Выглядит ссылка вот так: http://0.gravatar.com/avatar/8f022e23e0dcdf5f9c94dffd89cb9600?s=32&d=http%3A%2F%2Fmyempeiria.ru%2Fwp-content%2Fthemes%2FNicePen%2Fimages%2Fgravatar.png%3Fs%3D32&r=G. Буду очень благодарна, если подскажете, как сделать ее напрямую!
    2. В ТОПе комментаторов аватарки меняться не хотят. Возможно, потому что у меня плагин стоит Top Commentators Widget, и еще в него нужно что-то прописывать?

    • Виталий (1691 комм.) says:
      http://mojWP.ru/

      Добрый.
      1. Не подскажу альтернативное решение. Тут идет подмена в ссылке, чтобы все работало.
      2. К сожалению плагин не использую, поэтому по его настройкам не знаю. Нужно видеть ситуацию. К тому же данный ТОП легко выводится без плагина.

      • Надежда (7 комм.) says:
        http://myempeiria.ru

        1. Жаль... Может, Вы тогда знаете, как эти граватары кэшировать? Пейдж Спид ругается, что у них кэш 5 минут - видимо это по умолчанию там...
        2. От плагина уже избавилась, спасибо 🙂 Теперь в сайдбаре красуются мои аватарки, на которые, кстати, Пейдж Спид не обращает внимания, в отличие от тех, что в статьях...

Не держи в себе. Выскажись.

Ваш e-mail не будет опубликован. Обязательные поля помечены *

© 2011-2017 | mojwp.ru | Копирование материала разрешено только с письменного согласия
WordPress: 12.28MB | MySQL:96 | 0,267sec
Премиальные плагины для CMS WordPress
Магазин WordPress WP-R.ru
Спасибо, не показывайте мне эту штуку больше!
Смотри мои обучающие видео на YouTube
Иван только что купил плагин ELT https://wp-r.ru/plaginy/elt.html