Улучшаем свой блог: использование граватаров (gravatar)

Thursday, 31 Jul 08 в 23:41

Граватары в блогеЯ тут конкурс провожу - установи граватар и получи $50. Так вот в тексте описании его условий упоминал плагин для установки граватар в wordpress блог, на что в комментариях мне возразили мол в версии 2.5, поддержка gravatar встроена по умолчанию. Решил проверить как все работает. Об использовании специального плагина, читайте по ссылке выше, а сейчас расскажу как внедрить сервис для счастливых обладателей wordpress 2.5.x и выше.

Итак, за вывод граватар в Wordpres отвечает функция get_avatar, причем в отличии от плагина она выводит сразу изображение с тэгом IMG, а не только путь к картинке. Это нужно учитывать! Синтаксис функции следующий:

<?php
   echo get_avatar( $id_or_email, $size = '96', $default = '<path_to_url>' );
?>

Параметр id_or_email обязателен, идентифицирует пользователя. Как правило, в темах встречается его значение либо $comment, либо get_the_author_id(). Необязательные параметры size и default соответственно отвечают за размер выводимого изображения и путь к картинке по умолчанию.
У себя в блоге я использую такой код:

<?php echo get_avatar($comment, 60); ?>

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

Нужно заметить еще 2 важных момента. Во-первых, при генерации тэга IMG в нем создается класс class=’avatar avatar-$size’, который позволяет задавать в CSS форматирование для граватарок. Прописать какой либо код внутри IMG возможности нет, только через файл стилей.

Во-вторых, в самой админке wordpress есть небольшие настройки для сервиса. Заходите в меню Settings - Discussion, где на странице можете выбрать отображать ли граватары вообще и задать ограничение по рейтингу для изображений.

граватары в wordpress

По умолчанию установлено значение G - подходящее для аудитории всех типов, все остальные категории (рангом выше) будут скрыты. Пришлось потратить минут 15 на чтение зарубежных блогов дабы понять почему некоторые граватарки вдруг исчезли:) Поэтому обратите внимание на этот момент.

По граватарам в WordPress есть отдельная страница на официальном сайте.

Добавить комментарий

Комментариев - 44 для данного поста

  1. Simple Пишет:

    Там вообще вроде есть еще значения кроме G. Вопрос, а каким образом определяется к какой категории принадлежит блог?

  2. Гривнев Пишет:

    Долго думал, как же прокомментировать эту запись, но скажу чесно, просто очень хочется быть первым. Поэтому не буду многословным, очень полезная информация для новичков.

  3. Simple Пишет:

    Порылся в настройке wp2.6 и понял. По ходу, каждый на своём блоге сам ставит к какой категории он относит свой блог.
    Не объективно как-то.

  4. Гривнев Пишет:

    О позор мне!!! Вот что значит долго думать.

  5. Tod Пишет:

    Simple, ну, во-первых, поздравляю ты первый победитель граватарного конкурса, скинь в аську свой кошелек, я отправлю приз.
    Во-вторых, категория определяется не для блога, а для изображения на граватарке, G - для всех, PG - 13 лет и выше, R - старше 17ти… на оф. сайте граватара более подробно расписано, например когда в изображении есть фразы призывающие к насилию или эротического характера. В общем, заботятся люди о нравственности в блогах.

  6. Tod Пишет:

    Гривнев, увы, ты опоздал на 4 минуты:)

  7. @ Алексей Тараненко Пишет:

    Я правильно понимаю, что еще и шаблон установленный должен предусматривать граватары? Вот у меня к примеру в админке все включено, но при этом ничего не отображается. Кроме как на шаблон списывать вроде не на что… Это как то можно поправить?

  8. dovrasha Пишет:

    Победитель оправдал свою Граватарку и срубил бабла))) Саша, спасибо за конкурс! Я, к сожалению, опоздал, и не потому не успел.

  9. @ Vitashok Пишет:

    А если не сложно скажи, что я не так делаю/
    В админке, там где я одобряю комментарии, там аватары отображаются, а на самом сайте в комментариях аватары не отображаются.

  10. Tod Пишет:

    Алексей Тараненко, именно. Чтобы граватары отображались, в шаблоне должен быть прописан код - см. второй пример в этом посте (я использую именно такой, 60 - размер изображения).
    dovrasha, ничего страшного. Остается еще шанс заработать остальные 40уе :)
    Vitashok, варианта 2 - либо в шаблоне wordpress не прописан код, который выводит граватары, либо в админке установлен не максимальный рейтинг (Х).

  11. @ Vitashok Пишет:

    (X) вставил - не помогло.

    Я так понял, нужно этот код втулить

    Но куда, в какой файл и в каком месте?
    Извините, если вопрос тупой.

    Не могу понять, в админке же они отображаются, а на сайте нет. Х.З.

  12. Tod Пишет:

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

  13. Виктор Пишет:

    Прикольный граватар - попробую и себе такое установить на блог !

  14. jeenart Пишет:

    Да очень удобный этот сервис, особенно радует то, что он по умолчанию работает в WP, и практически на всех блогах где я комментирую моя аватара всегда отображается. Пост несколько не развёрнутый: можно было расписать пункты регистрации по шагам, это помогло бы новичкам, ведь не все знают англ., а на сайте при регистрации и загрузки аватары много пунктов. Также ты описываешь лишь использование с движком WordPress, но блоги есть и на Drupal и на других движках, надо было описать использование и с другими движками.

    2 Simple: Поздравляю с победой ! 10 вмз хоть и не много, но всё равно приятно.

    2 Tod: Интересный конкурс, но здесь мало что зависит от нас, пользователей. Кто первый успел тот и выиграл, а второй приз тому, чья аватара тебе понравится, и это опять таки зависит от тебя… Жду интересный конкурс с такими же призами, но где больше будет зависеть от нас…

  15. @ Vitashok Пишет:

    Спасибо огромное за помощь, Научным “методом тыка” нашол место куда нужно вставить код.
    Ещё раз спасибо.

  16. Человек на пределе Пишет:

    Кстате функции граватара можно использовать не только в WordPress но и в собственных проектах.
    http://www.gravatar.com/avatar.php?gravatar_id=“.md5($email).”&default=”.urlencode($default).”&size=”.$size

    Емайл кодируем при помощи md5 а все остальное думаю понятно.

  17. Человек на пределе Пишет:

    Для других языков и CMS можно гялнуть тут:
    http://en.gravatar.com/site/implement/

  18. @ drStas Пишет:

    А вот теперь для совсем танкистов )) А какой код вставить надо?

  19. @ drStas Пишет:

    :( я зарегался на гаватере, добавил аватарку свою ((( написал коммент (см. выше) а аватарки не видно

  20. @ Vitashok Пишет:

    2 drStas
    Я вставлял тот док, что показан во втором примере.
    вот этот, только полностью :
    echo get_avatar($comment, 60);

    только вместо “60″ я себе поставил 40

    По второму вопросу:
    А ты под одним и тем же ником и имейлом зарегистрировался на гаватаре и пишешь здесь?

  21. Tod Пишет:

    Человек на пределе, спасибо за ссылки, будем знать.
    drStas, после регистрации и до отображения должно пройти определенное время (по моим наблюдениям). Кроме того, email должен в точности совпадать с зарегистрированным на сервисе, причем большие буквы в мыле могут помешать корректной работе.

  22. Tod Пишет:

    jeenart я уже не первый раз пишу про граватар, поэтому некоторые упомянутые тобой вопросы, уже рассматривал. Вот например про сам сервис граватар, где рассказывал немного о регистрации.
    Где-то там же было и про использование его в других цмс и проектах, Человек на пределе еще раз повторил ссылки за что ему спасибо.
    О следующих конкурсах думаю, только не все сразу:) Объявлю через недельку где-то.

  23. @ drStas Пишет:

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

  24. @ Kolia Shlapak Пишет:

    Спасибо за пост, попробывал сделать на своём блоге. Почти всё вышло, только вот с CSS не очень. Класс так и прописывать avatar avatar-$size или подставлять свой размер. или без разницы?

  25. Tod Пишет:

    size - переменная, которая подставляется в зависимости от выбранного размера. У меня, например, вот такой ксс:

    .avatar-60 {
    float:left;
    padding-right: 5px;
    }
  26. @ Kolia Shlapak Пишет:

    вышло! :) Спасибо Tod, подсмотрел у Вас :)

  27. Блог Сергея Гривнева » Архив блога » Я не бубу или Я не буду! Пишет:

    [...] следующих конкурсах. Я не буду “караулить” на блоге [...]

  28. Низкочастотная стратегия | Презренный Манимейкинг Пишет:

    [...] рассказал про использование граватаров на блоге (надо бы себе [...]

  29. @ sergey Пишет:

    а как сделать чтобы фото было сбоку как у вас ?? а то у меня текст комментария идет ниже граватарки ((

  30. Tod Пишет:

    sergey, посмотрите код на пару комментариев выше, должно помочь.

  31. @ Kolia Shlapak Пишет:

    однозначо помагает)

  32. @ sergey Пишет:

    всем спасибо )) заработало ! а как сделать отступ от верхней границы ? ))) уж простите за такие глупые вопросы…ну не спец я )))

  33. @ Vitashok Пишет:

    А я методом, “научного тыка” ставил код в разные места, кака не нашол то, что мне нужно :-)

  34. Tod Пишет:

    sergey, сложно подсказать в подобных ситуациях. Верстка (html, css) - дело специфическое, нужно его хотя бы чуть-чуть освоить или пробовать методом тыка. Свойства, позволяющие делать отступы - padding, margin.

  35. @ Katya Пишет:

    походила я по вашему сайту и поняла какой же я чайник. еххх а я ведь так люблю свой блог

  36. Tod Пишет:

    Katya, все с чего-то начинали. Год назад я точно также смотрел на блоги и понимал, что учиться мне еще долго. Присоединяйтесь к аудитории данного проекта, читайте, участвуйте в дискуссиях, задавайте вопросы и т.д:)

  37. @ Андрей Пишет:

    Вставить нужно только эту строку? Или и класс прописывать?

    После того как вставил, вобще комментарии пропали

  38. @ Андрей Пишет:

    В файле Comments.php Нашёл строки <div class=”comment-list” id=”comment-”>
    <div class=”comment-block”>
    mention,

    Вставил после последней строки

    И ничего не работает, я правильно делаю?

  39. @ Андрей Пишет:

    Почему не отображается скопированный код? для комментариев это разрешённые тэги?

  40. @ Kolia Shlapak Пишет:

    По ссылке - пример, куда я добавил код)
    http://shlapak.org.ua/2008/08/gravatar-wordpress/

  41. Tod Пишет:

    Андрей, если есть много вопросов - проще в аське общаться. Вообще нужно: 1. Версию ворд пресс 2.5 и выше, 2. убедиться что граватары включены в админке, 3. добавить код, 4. добавить обработку класса для граватар. Все должно работать, если что-то где-то пропадает, то это ошибка при вставке кода.

  42. @ Андрей Пишет:

    Всё Tod, получилось! БОЛЬШОЕ спасибо!

  43. Просто блог Аркашки Пишет:

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

  44. Tod Пишет:

    Аркадий, понимаешь, все познается в сравнении. Можно долго рассуждать о том, что реально круто, что нет, суть не в этом. Целей конкурса было несколько. Во-первых, хотелось хотя быть чуть-чуть популяризировать граватары, мне кажется они смотрятся здорово. Во-вторых, приятный бонус читателями блога - это все равно, что ты нашел на улице 10-ку баксов, прикольно? По моему, вполне, делать для этого ничего не нужно, так просто пошел пива выпил или мороженого сьел.

    Конкурс заработка на партнерках? ну 5тыс. конечно сумма привлекательная, но выиграет все равно один (или несколько человека), а засрут интернет все своими сплогами/спамом/дорами:)

    Короче говоря, польза понятие весьма относительное, я не собирался сделать супер полезный или самый полезный конкурс в мире:)

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