MAXCACHE no licensing Установка граватаров в Wordpress без плагинов (функция get_avatar)

Онлайн заработок, создание и монетизация сайтов, веб-разработка, SEO и SMO продвижение, фриланс, партнерки, полезные сервисы вебмастерам, блоггинг.

Лучшая система размещения статей
Wordpress шаблоны
Главная » WordPress » Установка граватаров в Wordpress без плагинов (функция get_avatar)

Установка граватаров в WordPress без плагинов (функция get_avatar)

Граватары в блогеЯ тут конкурс провожу — установи граватар и получи $50. Так вот в тексте описании его условий упоминал wordpress плагин для gravatar в блог, на что в комментариях мне возразили мол в версии 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 есть отдельная страница на официальном сайте.

31.07.08

Категории: WordPress.

Теги: , , ,

67 Comments
  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. drStas

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

  18. drStas

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

  19. Vitashok

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

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

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

  20. Tod

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

  21. Tod

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

  22. drStas

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

  23. Kolia Shlapak

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

  24. Tod

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

    .avatar-60 {
    float:left;
    padding-right: 5px;
    }
  25. Kolia Shlapak

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

  26. sergey

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

  27. Tod

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

  28. Kolia Shlapak

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

  29. sergey

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

  30. Vitashok

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

  31. Tod

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

  32. Katya

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

  33. Tod

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

  34. Андрей

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

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

  35. Андрей

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

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

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

  36. Андрей

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

  37. Kolia Shlapak

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

  38. Tod

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

  39. Андрей

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

  40. Просто блог Аркашки

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

  41. Tod

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

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

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

  42. Iceman

    Получилось) Забабахал и у себя аватары)

  43. Artem

    Привет!
    Наткнулся на ваш блог в поисках ответа на вопрос как сделать так, чтобы аватарки показывались сбоку от текста. Нашел вроде бы решение, сделав вы написали. Но проблема теперь в том, что в случае комментариев больше одного — они начинают отображаться один под другим. Вот так:
    picatom.com/10/SC001-1.html

    не подскажете, как это исправить?

  44. Tod

    Artem, находишь в шаблоне место с комментариями, потом добавляешь <div class="clear"></div> после одного блока комментариев (автор, сайт, дата и текст) — это типа «обнулит» выравнивание по левой стороне.
    Или попробуй код с аватаркой перенести в <li>, в котором у тебя выводится сам комментарий <li id="comment-2"><cite> …

  45. Artem

    все получилось! :)
    оказалось, что нужно вот так:

    спасибо за помощь! :)

  46. Tod

    Artem, код так просто не вставить, нужно символы < > заменять.

  47. Artem

    ага, будем знать теперь
    вот так получилось сделать: _div style=”clear: both;”__/div_

  48. Horse

    Спасибо за инфу. Очень помогло

  49. Надежда-дизайнер

    Спасибо вам огромное! Давно хотела активировать на своём блоге функцию отображения граватаров! Вставила код как вы сказали в файл комментариев :) Только там не в любое место вставлять нужно, а в цикл комментария, я вставила перед ссылкой на автора комментария и всё заработало! Ещё раз спасибо!

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

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