Как добавить аватары к плагину Show Top Commentators

Плагин Show Top Commentators отображает в выбранном веб мастером месте список комментаторов из заданного количества позиций за определенный заранее промежуток времени. Нельзя не признать полезность плагина, стимулирующего читателей писать большее количество комментариев ради отображения ссылки на свой блог. Наличие такого плагина в сочетании с интересным контентом значительно повышает заинтересованность пользователей все чаще и чаще читать блог и комментировать статьи, новости и заметки, что, в свою очередь, повышает посещаемость и показатели блога.

Плагин Show Top Commentators был описан мною подробно в статье от 15 августа. Повторюсь, что скачать его можно по ссылке:
http://www.pfadvice.com/wp-content/plugins/show_top_commentators.zip
В этой же статье описан способ установки плагина на блог. Но речь не об этом. Однажды, через недолгое время после установки у себя в блоге мне пришла в голову мысль о том, что неплохо было бы рядом с именем каждого, кто находится в списке ТОП комментаторов отображать его аватар, точнее граватар. Что такое граватар и как его получить можете прочитать в моей публикации «Как загрузить аватар в WordPress»

Со своей идеей о модификации плагина Show Top Commentators я обратился к специалисту PHP кода и автору блога «Остров Мыслей» Игорю Зайва, который без промедлений согласился бескорыстно помочь мне реализовать мне мой каприз. С его разрешения, сегодня я опишу очень коротко как добавить аватары к плагину Show Top Commentators самому.

Сам плагин состоит из всего одного файла с названием show_top_commentators.php. Откройте этот файл с помощью программы Notepad++ и измените код следующим образом:

echo $ns_options["start_html"];
if (trim ($url) != '' && $ns_options["make_links"] == 1) {
echo «<a href='» . $url . «'>»;
}

и замените их на:

echo $ns_options["start_html"];
if (trim ($url) != '' && $ns_options["make_links"] == 1){
$Aid=get_the_ID (); $gravatar='http://gravatar.com/avatar.php?gravatar_id='.md5 ($k->comment_author_email);
echo «<img src=».$gravatar." style='height:18px; width:18px; border:0px; vertical-align:middle; margin:1px;' alt='Лучший комментатор '/> <a href='".$url."'>";
}

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

Сохраните файл со сделанными изменениями в кодировке UTF-8 without BOM и после этого установите плагин на свой WordPress. Теперь список ваших коллег, наиболее часто комментирующих публикации вашего блога будет отображаться вместе с аватарами из глобального сервиса Gravatar.

Если у вас есть какие-то предложения по дополнительной модификации кода плагина Show Top Commentators, пожалуйста напишите об этом в комментариях, также прошу вас писать об опыте использования этой модификации плагина Show Top Commentators.

How to add avatars to 'Show Top Commentators' WordPress plugin

Many and many bloggers asked how to add avatars to Show Top Commentators plugin. WEB Programmer and popular in Russia blogger Igor Zaiva from Almaata (Kazakhstan) have found a solution of this issue. Download Sow Top Commentator from http://www.pfadvice.com/wp-content/plugins/show_top_commentators.zip and unzip it. You can get the file show_top_commentators.php. Open it and finde:

echo $ns_options["start_html"];
if (trim ($url) != '' && $ns_options["make_links"] == 1) {
echo «<a href='» . $url . «'>»;
}

and change it to:

echo $ns_options["start_html"];
if (trim ($url) != '' && $ns_options["make_links"] == 1){
$Aid=get_the_ID (); $gravatar='http://gravatar.com/avatar.php?gravatar_id='.md5 ($k->comment_author_email);
echo «<img src=».$gravatar." style='height:18px; width:18px; border:0px; vertical-align:middle; margin:1px;' alt='Лучший комментатор '/> <a href='".$url."'>";
}

That is all! You'll get an avatars before names of commentators. Values highlighted in red affect the size of the image.

Related Blogs

Related Blogs

  1. Уведомление: 40±5 моих плагинов WordPress. 40±5 this blog WordPress plugins | БЕЛАЯ ШЛЯПА

  2. Cap

    Добрый день. Очень заинтересовался этой замечательной возможностью добавления в топ комментаторов их аватарок, спасибо за такое интересное дополнение к этому плагину. Но, когда заменил код, вордпресс мне выдал ошибку в 90 строке — Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' . Проверял синтаксис, пытаясь выяснить что ему мешает, менял то и это, вроде все правильно, но не работает. Подскажите, пожалуйста, может я где-то вкорне ошибаюсь? Заранее благодарен.

    1. eavasi

      Скинь на почту полный листинг файла, чтобы можно было говорить конкретно. (Страница контакты)

      1. Cap

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

        echo " ";

        echo ns_substr_ellipse ($k->comment_author, $ns_options["name_limit"]);

        echo "";

        — то есть одинарные кавычки после echo плагин вообще отказывается воспринимать.

        С выводом граватара я поступил несколько иначе. Во первых я вынес его из условия и поставил сразу за строкой echo $ns_options["start_html"];. Кроме того в предложенном варианте, если у человека отсутствует граватар, то выводится дефолтный и при том совсем не тот который хочется. Потому я воспользовался стандартной функцией get_avatar (). Прямо перед выводом комментатора, информация о нем вызывается из базы, так что его емейл имеется со значением comment_author_email, и его можно вставить в функцию, получается строка echo get_avatar ( $k->comment_author_email, $size = '18');. В итоге у меня получился следующий код:

        echo $ns_options["start_html"];

        echo get_avatar ( $k->comment_author_email, $size = '18');

        if (trim ($url) != '' && $ns_options["make_links"] == 1) {

        echo "";

        }

        echo " ";

        echo ns_substr_ellipse ($k->comment_author, $ns_options["name_limit"]);

        echo "";

        if (trim ($url) != '' && $ns_options["make_links"] == 1) {

        echo "";

        }

        Вроде работает, не знаю насколько долго его хватит и на сколько правильно он себя поведет, потому что имею очень смутные познание в работе php.

        Но сама идея вывода аватарок около топа комментаторов очень замечательна. Думаю добавит активности посетителям.

        1. Cap

          Ох , что то я забыл совсем что теги пропадут(

          дополню тут: в первых "« стоит в кавычках span class='commentuser'

          во вторых /span

          Соответственно в полном куске кода:

          a href='» . $url . "'

          span class='commentuser'

          /span

          /a

          и каждая строка в кавычках тегов

        2. eavasi

          Спасибо большое за описание проблемы. Это отличный опыт для наших читателей.

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

          Спасибо!.

  3. Cap

    Добрый день. Очень заинтересовался этой замечательной возможностью добавления в топ комментаторов их аватарок, спасибо за такое интересное дополнение к этому плагину. Но, когда заменил код, вордпресс мне выдал ошибку в 90 строке — Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' . Проверял синтаксис, пытаясь выяснить что ему мешает, менял то и это, вроде все правильно, но не работает. Подскажите, пожалуйста, может я где-то вкорне ошибаюсь? Заранее благодарен.

    1. eavasi Автор записи

      Скинь на почту полный листинг файла, чтобы можно было говорить конкретно. (Страница контакты)

      1. Cap

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

        echo " ";

        echo ns_substr_ellipse ($k->comment_author, $ns_options["name_limit"]);

        echo "";

        — то есть одинарные кавычки после echo плагин вообще отказывается воспринимать.

        С выводом граватара я поступил несколько иначе. Во первых я вынес его из условия и поставил сразу за строкой echo $ns_options["start_html"];. Кроме того в предложенном варианте, если у человека отсутствует граватар, то выводится дефолтный и при том совсем не тот который хочется. Потому я воспользовался стандартной функцией get_avatar (). Прямо перед выводом комментатора, информация о нем вызывается из базы, так что его емейл имеется со значением comment_author_email, и его можно вставить в функцию, получается строка echo get_avatar ( $k->comment_author_email, $size = '18');. В итоге у меня получился следующий код:

        echo $ns_options["start_html"];

        echo get_avatar ( $k->comment_author_email, $size = '18');

        if (trim ($url) != '' && $ns_options["make_links"] == 1) {

        echo "";

        }

        echo " ";

        echo ns_substr_ellipse ($k->comment_author, $ns_options["name_limit"]);

        echo "";

        if (trim ($url) != '' && $ns_options["make_links"] == 1) {

        echo "";

        }

        Вроде работает, не знаю насколько долго его хватит и на сколько правильно он себя поведет, потому что имею очень смутные познание в работе php.

        Но сама идея вывода аватарок около топа комментаторов очень замечательна. Думаю добавит активности посетителям.

        1. Cap

          Ох , что то я забыл совсем что теги пропадут(

          дополню тут: в первых "« стоит в кавычках span class='commentuser'

          во вторых /span

          Соответственно в полном куске кода:

          a href='» . $url . "'

          span class='commentuser'

          /span

          /a

          и каждая строка в кавычках тегов

        2. eavasi Автор записи

          Спасибо большое за описание проблемы. Это отличный опыт для наших читателей.

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

          Спасибо!.

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

Ваш e-mail не будет опубликован.