Tweet Недавно один из читателей моего блога задал...

Tweet Недавно один из читателей моего блога задал мне такой вопрос «Сергей – с помощью какого плагина у вас выводиться топ комментаторов с граватарами» Сам плагин общеизвестный и называется он: show top commentators Но те, кто ставил его на свой блог, заметят – граватары данный плагин не выводит. Поэтому продеться ручками его этому научить. На одном блоге я уже видел попытку решить проблему, но решение содержало ошибку и не работало. Но обо всем по порядку.

    Скачиваем плагин по ссылке; Заливаем в папку с плагинами; Активируем плагин;

Плагин установлен и готов к работе.

Вывод плагина топ комментаторов

Сделать это несложно, просто добавить его в сайдбар, через панель виджетов. Но есть одно но, в плагине не предусмотрена работа в виде виджета. Поэтому нужно вручную сделать из него виджет либо просто вставить в сайдбар.

Вставка в sidebar

Открываем файл sidebar. php И вставляем между этих строк:

1 2 3 if(function_exists(’ns_show_top_commentators’)) { ?>     } ?>

Разберем немного, зачем эти две строки. Это проверка на включенность виджетов в админке блога. Если виджеты активны, то код между строк проверочного выражения не будет работать: В нашем случае плагин «топ комментаторов» не будет выведен А если виджеты в админке не активны: То код внутри строк проверочного выражения сработает. И наш плагин будет благополучно работать. Вернемся к нашим баранам. Вставляем данный код:

1 2 3 4 >    

>Топ комментаторов

>    

    >(); ?>

> >

Должно выйти вот так:

1 2 3 4 5 6 if(function_exists(’ns_show_top_commentators’)) { ?>        

Топ комментаторов

   

    ns_show_top_commentators(); ?>

    } ?>

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

1 2 3 4 5 6 if(function_exists(’ns_show_top_commentators’)) { ?> } ?>        

Топ комментаторов

   

    ns_show_top_commentators(); ?>

   

Создание виджета

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 function Vid_Top_Comment(){ ?>          

Топ комментаторов

           

Топ комментаторов

   

    ns_show_top_commentators(); ?>

    } if ( function_exists(’register_sidebar_widget’) )     register_sidebar_widget(__(’Top_Comment’), ‘Vid_Top_Comment’); ?>

Разберем немного код:

1 function Vid_Top_Comment()

В этой строке мы создали функцию под названием «Vid_Top_Comment». Vid_Top_Comment – это название я придумал сам. Сокращенно от «виджет топ комментаторов».

1 2 3 =”dbx-box”>      

=”dbx-handle”>Топ комментаторов

>        =”dbx-content”>

Эти дивы отвечают за оформления сайдбара в моей теме. Если их не использовать, то наш плагин не впишется в общий дизайн.

1 register_sidebar_widget(__(’Top_Comment’), ‘Vid_Top_Comment’);

В последней строке мы даем нашему виджету имя: «Top_Comment» которое будет отображаться в админ панели.

Tweet Недавно один из читателей моего блога задал...

Учим плагин топ комментаторов выводить граватары

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 if(is_array($commenters)) {        foreach ($commenters as $k) {           if($ns_options[”make_links”] == 1) {             $url = ns_get_user_url($k->comment_author_email);           }           echo $ns_options[”start_html”];           if(trim($url) != ” && $ns_options[”make_links”] == 1) {              echo ” . $url. “‘>”;           }           echo ns_substr_ellipse($k->comment_author, $ns_options[”name_limit”]);           if(trim($url) != ” && $ns_options[”make_links”] == 1) {              echo “”;           }           if($ns_options[”number_of_comments”] == ‘y’) {                  echo ” (” . $k->comment_comments. “)\n”;           }           echo $ns_options[”end_html”] . “\n”;           unset($url);        }     } else {       echo $ns_options[”start_html”] . $ns_options[”none_text”] . $ns_options[”end_html”];;     }

Именно он отвечает за вывод списка. Его-то нам и нужно заменить. Вместо предыдущего кода вставляем этот:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 if(is_array($commenters)) {        foreach ($commenters as $k) {           if($ns_options[”make_links”] == 1) {             $url = ns_get_user_url($k->comment_author_email);           }           echo $ns_options[”start_html”];           echo get_avatar( $k->comment_author_email, $size = ‘18′);           if(trim($url) != ” && $ns_options[”make_links”] == 1) {           echo ” . $url. “‘>”;           }           echo ” “;           echo ns_substr_ellipse($k->comment_author, $ns_options[”name_limit”]);           echo “”;           if(trim($url) != ” && $ns_options[”make_links”] == 1) {           echo “”;           }           if($ns_options[”number_of_comments”] == ‘y’) {                  echo ” (” . $k->comment_comments. “)\n”;           }           echo $ns_options[”end_html”] . “\n”;           unset($url);        }     } else {       echo $ns_options[”start_html”] . $ns_options[”none_text”] . $ns_options[”end_html”];;     }

Размер иконки граватара находиться в этой строке:

1 echo get_avatar( $k->comment_author_email, $size = ‘18′);

Меняем значение «size» на свое. Size указан в пикселах Вот собственно и все. Наш плагин топ комментаторов выводить комментаторов вместе с их граватарами.

Настройки плагина вывода топ комментаторов

Собственно панели настроек у него тоже нет. Все настройки находятся в файле плагина:

1 2 3 4 5 6 7 8 9 10 11 12 $ns_options = array(     “reset” => “80″, //через какой период обнулять счетчик hourly (час), daily (день), weekly (неделю), monthly (месяц), yearly (год), all (не обнулять) или просто указываете число дней     “limit”  => 5, //число выводимых комментаторов в топе     “filter_users” => “Administrator, admin”, //исключение ников тех, кто не должен участвовать в топе (через запятую).     “filter_user_ids” => “1,2″, //исключение ID тех, кто не должен участвовать в топе (ID разделяются запятой).     “filter_urls” => “”, //не показывать в топе указанные ссылки (опять разделяем запятыми).     “none_text” => “None yet!”, //текст, показываемый, если комментаторов в блоге еще нет.     “make_links” => 1, //включение и выключение показа ссылок на сайт комментирующих (1 – да, 2 – нет).     “number_of_comments” => “y”, //показывать или нет число комментариев в топе (y – да, n – нет).     “name_limit” => 28, //ограничение в числе символов для ников (1 – неограниченно).     “start_html” => “”, //тег (или текст) перед ником комментатора.     “end_html”   => “

И после нашей модификации появилась еще одна настройка. Это размер граватара. На этом закончу данную статью. Удачи!!! С уважением Тригуба Сергей! P. S. В силу того, что плагин считает комментарии за определенный период. То при установке он может ничего не показывать кроме надписи указанной в настройках. Но стоит добавить комментарий и все станет на свои места.

Tweet Недавно один из читателей моего блога задал...

Интересное — планшет от Acer blah Спасибо Вам, что добавили эту статью в: Добавить в Twitter Добавить в Вконтакт Добавить в Facebook Добавить в Google buzz Добавить в Мой мир Опубликовать в своем блоге livejournal. com Приглашаю присоединиться ко мне в следующих сервисах: Присоединится ко мне в twitter Присоединится ко мне в Вконктакте Присоединится ко мне в Facebook Присоединится ко мне в Google buzz Присоединится ко мне в friendfeed Мои групы: Группа webmasterprof. ru в Facebook Группа webmasterprof. ru в Вконтакте Будь в курсе! Подпишись на обновления блога через: RSS RSS Email Email

Понравилась статья? Получай обновления и будь всегда в курсе событий!
Подпишись на RSS или
blog comments powered by Disqus