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’)) { ?>
Топ комментаторов
} ?> |
А если хотите, что бы выводился и наш плагин и виджеты из админки, то нужно написать наш код за пределами проверочного выражения. Вот так:
1 2 3 4 5 6 | if(function_exists(’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(){ ?>
Топ комментаторов
Топ комментаторов
} 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» которое будет отображаться в админ панели.
Учим плагин топ комментаторов выводить граватары
Для этого нам придеться залезть во внутренности плагина. Открываем файл 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. В силу того, что плагин считает комментарии за определенный период. То при установке он может ничего не показывать кроме надписи указанной в настройках. Но стоит добавить комментарий и все станет на свои места.
Интересное — планшет от Acer blah Спасибо Вам, что добавили эту статью в: Добавить в Twitter Добавить в Вконтакт Добавить в Facebook Добавить в Google buzz Добавить в Мой мир Опубликовать в своем блоге livejournal. com Приглашаю присоединиться ко мне в следующих сервисах: Присоединится ко мне в twitter Присоединится ко мне в Вконктакте Присоединится ко мне в Facebook Присоединится ко мне в Google buzz Присоединится ко мне в friendfeed Мои групы: Группа webmasterprof. ru в Facebook Группа webmasterprof. ru в Вконтакте Будь в курсе! Подпишись на обновления блога через: RSS RSS Email Email