Установка граватаров в 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, где на странице можете выбрать отображать ли граватары вообще и задать ограничение по рейтингу для изображений.
По умолчанию установлено значение G — подходящее для аудитории всех типов, все остальные категории (рангом выше) будут скрыты. Пришлось потратить минут 15 на чтение зарубежных блогов дабы понять почему некоторые граватарки вдруг исчезли:) Поэтому обратите внимание на этот момент — выбираем максимальный рейтинг Х. По граватарам в WordPress есть отдельная страница на официальном сайте.
Там вообще вроде есть еще значения кроме G. Вопрос, а каким образом определяется к какой категории принадлежит блог?
Долго думал, как же прокомментировать эту запись, но скажу чесно, просто очень хочется быть первым. Поэтому не буду многословным, очень полезная информация для новичков.
Порылся в настройке wp2.6 и понял. По ходу, каждый на своём блоге сам ставит к какой категории он относит свой блог.
Не объективно как-то.
О позор мне!!! Вот что значит долго думать.
Simple, ну, во-первых, поздравляю ты первый победитель граватарного конкурса, скинь в аську свой кошелек, я отправлю приз.
Во-вторых, категория определяется не для блога, а для изображения на граватарке, G — для всех, PG — 13 лет и выше, R — старше 17ти… на оф. сайте граватара более подробно расписано, например когда в изображении есть фразы призывающие к насилию или эротического характера. В общем, заботятся люди о нравственности в блогах.
Гривнев, увы, ты опоздал на 4 минуты:)
Я правильно понимаю, что еще и шаблон установленный должен предусматривать граватары? Вот у меня к примеру в админке все включено, но при этом ничего не отображается. Кроме как на шаблон списывать вроде не на что… Это как то можно поправить?
Победитель оправдал свою Граватарку и срубил бабла))) Саша, спасибо за конкурс! Я, к сожалению, опоздал, и не потому не успел.
А если не сложно скажи, что я не так делаю/
В админке, там где я одобряю комментарии, там аватары отображаются, а на самом сайте в комментариях аватары не отображаются.
Алексей Тараненко, именно. Чтобы граватары отображались, в шаблоне должен быть прописан код — см. второй пример в этом посте (я использую именно такой, 60 — размер изображения).
dovrasha, ничего страшного. Остается еще шанс заработать остальные 40уе :)
Vitashok, варианта 2 — либо в шаблоне wordpress не прописан код, который выводит граватары, либо в админке установлен не максимальный рейтинг (Х).
(X) вставил — не помогло.
Я так понял, нужно этот код втулить
Но куда, в какой файл и в каком месте?
Извините, если вопрос тупой.
Не могу понять, в админке же они отображаются, а на сайте нет. Х.З.
Vitashok, в файле шаблона — comments.php. В какое место добавить вопрос посложнее, все зависит от верстки вашего макета. Находите в файле место, которое отвечает за вывод комментариев и где-то там добавляете код. Если не получится, стучите в аську — там проще рассказать:)
Прикольный граватар — попробую и себе такое установить на блог !
Да очень удобный этот сервис, особенно радует то, что он по умолчанию работает в WP, и практически на всех блогах где я комментирую моя аватара всегда отображается. Пост несколько не развёрнутый: можно было расписать пункты регистрации по шагам, это помогло бы новичкам, ведь не все знают англ., а на сайте при регистрации и загрузки аватары много пунктов. Также ты описываешь лишь использование с движком WordPress, но блоги есть и на Drupal и на других движках, надо было описать использование и с другими движками.
2 Simple: Поздравляю с победой ! 10 вмз хоть и не много, но всё равно приятно.
2 Tod: Интересный конкурс, но здесь мало что зависит от нас, пользователей. Кто первый успел тот и выиграл, а второй приз тому, чья аватара тебе понравится, и это опять таки зависит от тебя… Жду интересный конкурс с такими же призами, но где больше будет зависеть от нас…
Спасибо огромное за помощь, Научным «методом тыка» нашол место куда нужно вставить код.
Ещё раз спасибо.
Кстате функции граватара можно использовать не только в WordPress но и в собственных проектах.
http://www.gravatar.com/avatar.php?gravatar_id=».md5($email).»&default=».urlencode($default).»&size=».$size
Емайл кодируем при помощи md5 а все остальное думаю понятно.
Для других языков и CMS можно гялнуть тут:
http://en.gravatar.com/site/implement/
А вот теперь для совсем танкистов )) А какой код вставить надо?
:( я зарегался на гаватере, добавил аватарку свою ((( написал коммент (см. выше) а аватарки не видно
2 drStas
Я вставлял тот док, что показан во втором примере.
вот этот, только полностью :
echo get_avatar($comment, 60);
только вместо «60» я себе поставил 40
По второму вопросу:
А ты под одним и тем же ником и имейлом зарегистрировался на гаватаре и пишешь здесь?
Человек на пределе, спасибо за ссылки, будем знать.
drStas, после регистрации и до отображения должно пройти определенное время (по моим наблюдениям). Кроме того, email должен в точности совпадать с зарегистрированным на сервисе, причем большие буквы в мыле могут помешать корректной работе.
jeenart я уже не первый раз пишу про граватар, поэтому некоторые упомянутые тобой вопросы, уже рассматривал. Вот например про сам сервис граватар, где рассказывал немного о регистрации.
Где-то там же было и про использование его в других цмс и проектах, Человек на пределе еще раз повторил ссылки за что ему спасибо.
О следующих конкурсах думаю, только не все сразу:) Объявлю через недельку где-то.
про код понял, спасибо!
Про аватарку…
мыло один в один, а вот ник они мне сказали прописать без заглавных букв, т.е. получилось drstas. Может из-за этого, но вам всем смотрю не помешало ))) буду надеяться на то что нужно время.
Спасибо за пост, попробывал сделать на своём блоге. Почти всё вышло, только вот с CSS не очень. Класс так и прописывать avatar avatar-$size или подставлять свой размер. или без разницы?
size — переменная, которая подставляется в зависимости от выбранного размера. У меня, например, вот такой ксс:
вышло! :) Спасибо Tod, подсмотрел у Вас :)
а как сделать чтобы фото было сбоку как у вас ?? а то у меня текст комментария идет ниже граватарки ((
sergey, посмотрите код на пару комментариев выше, должно помочь.
однозначо помагает)
всем спасибо )) заработало ! а как сделать отступ от верхней границы ? ))) уж простите за такие глупые вопросы…ну не спец я )))
А я методом, «научного тыка» ставил код в разные места, кака не нашол то, что мне нужно :-)
sergey, сложно подсказать в подобных ситуациях. Верстка (html, css) — дело специфическое, нужно его хотя бы чуть-чуть освоить или пробовать методом тыка. Свойства, позволяющие делать отступы — padding, margin.
походила я по вашему сайту и поняла какой же я чайник. еххх а я ведь так люблю свой блог
Katya, все с чего-то начинали. Год назад я точно также смотрел на блоги и понимал, что учиться мне еще долго. Присоединяйтесь к аудитории данного проекта, читайте, участвуйте в дискуссиях, задавайте вопросы и т.д:)
Вставить нужно только эту строку? Или и класс прописывать?
После того как вставил, вобще комментарии пропали
В файле Comments.php Нашёл строки <div class=»comment-list» id=»comment-«>
<div class=»comment-block»>
mention,
Вставил после последней строки
И ничего не работает, я правильно делаю?
Почему не отображается скопированный код? для комментариев это разрешённые тэги?
По ссылке — пример, куда я добавил код)
http://shlapak.org.ua/2008/08/gravatar-wordpress/
Андрей, если есть много вопросов — проще в аське общаться. Вообще нужно: 1. Версию ворд пресс 2.5 и выше, 2. убедиться что граватары включены в админке, 3. добавить код, 4. добавить обработку класса для граватар. Все должно работать, если что-то где-то пропадает, то это ошибка при вставке кода.
Всё Tod, получилось! БОЛЬШОЕ спасибо!
очередной бесполезный конкурс. обьясни в чем его больза. вот я понимаю щас конкурс на 5000 тыс зелени. так там конкурс полезный. надо как можно больше заработать в партнерках. так даже не важно 5000 тыс уе. важно то, что конкурс действительно полезный!
Аркадий, понимаешь, все познается в сравнении. Можно долго рассуждать о том, что реально круто, что нет, суть не в этом. Целей конкурса было несколько. Во-первых, хотелось хотя быть чуть-чуть популяризировать граватары, мне кажется они смотрятся здорово. Во-вторых, приятный бонус читателями блога — это все равно, что ты нашел на улице 10-ку баксов, прикольно? По моему, вполне, делать для этого ничего не нужно, так просто пошел пива выпил или мороженого сьел.
Конкурс заработка на партнерках? ну 5тыс. конечно сумма привлекательная, но выиграет все равно один (или несколько человека), а засрут интернет все своими сплогами/спамом/дорами:)
Короче говоря, польза понятие весьма относительное, я не собирался сделать супер полезный или самый полезный конкурс в мире:)
Получилось) Забабахал и у себя аватары)
Привет!
Наткнулся на ваш блог в поисках ответа на вопрос как сделать так, чтобы аватарки показывались сбоку от текста. Нашел вроде бы решение, сделав вы написали. Но проблема теперь в том, что в случае комментариев больше одного — они начинают отображаться один под другим. Вот так:
picatom.com/10/SC001-1.html
не подскажете, как это исправить?
Artem, находишь в шаблоне место с комментариями, потом добавляешь <div class="clear"></div> после одного блока комментариев (автор, сайт, дата и текст) — это типа «обнулит» выравнивание по левой стороне.
Или попробуй код с аватаркой перенести в <li>, в котором у тебя выводится сам комментарий <li id="comment-2"><cite> …
все получилось! :)
оказалось, что нужно вот так:
спасибо за помощь! :)
Artem, код так просто не вставить, нужно символы < > заменять.
ага, будем знать теперь
вот так получилось сделать: _div style=”clear: both;”__/div_
Спасибо за инфу. Очень помогло
Спасибо вам огромное! Давно хотела активировать на своём блоге функцию отображения граватаров! Вставила код как вы сказали в файл комментариев :) Только там не в любое место вставлять нужно, а в цикл комментария, я вставила перед ссылкой на автора комментария и всё заработало! Ещё раз спасибо!