BloGGood.ru

Блог Костаневича Степана

До Нового Года осталось:

Блог на разные темы, seo-оптимизация, раскрутка сайта, создание сайта, вкусные эффекты для сайта и многое другое…

Главная » Wordpress » Как сделать топ комментаторов без плагина для WordPress

Как сделать топ комментаторов без плагина для WordPress

2014-04-04 / Вр:19:28 / просмотров: 2743

Если вы решили провести конкурс на лучшего комментатора месяца, я вам расскажу, как это сделать. Если вы используете движок WordPress, тогда топ комментаторов можно сделать без плагина. Да, признаюсь, код не я написал, я его сам нарыл в сети интернет, испробовал на своем блоге год назад и теперь делюсь с вами.

Как сделать топ комментаторов без плагина для WordPress

Итак, приступим.

Как сделать топ комментаторов без плагина

Чтобы сделать топ комментаторов на блоге, нам понадобится три файла: «functions.php», «sidebar.php» и «style.css». Рекомендую, на всякий случай, зарезервировать их на компьютере.

Откройте файл  «functions.php» («админ-панель» => «внешний вид» => «Редактор» => «functions.php») и вставьте вот такой код:

/*TOP-комментарий*/
function sp_top_commentator(){
 global $wpdb;
 $length = 0; // Максимальная длина имени в символах, если стоит 0, то имя не обрезается
 $month = false; // true - за текущий месяц, false - за все время
 $comment = true; // показывать количество комментариев
 $nofollow = true; // ссылки nofollow
 $count = 9; // количество комментаторов
 $col = 3; // количество колонок
 $avatarSize = 60; // размер аватара
 $exceptionEmail = 'е-mail-1@rambler.ru, 'е-mail-2@mail.ru'; // мыла-исключения
 $results = $wpdb->get_results('
 SELECT
 COUNT(comment_author_email) AS comments_count, comment_author_email, comment_author, comment_author_url
 FROM
 (select * from '.$wpdb->comments.' order by comment_ID desc) as pc
 WHERE
 comment_author_email != "" AND
 comment_ENGINE= "" AND
 comment_approved = 1 AND
 comment_author_email NOT IN ('.preg_replace('/([\w\d\.\-_]+@[\w\d\.\-_]+)(,? ?)/','"\\1"\\2',$exceptionEmail).')'.
 ($month ? 'AND month(comment_date) = month(now()) AND year(comment_date) = year(now())' : '').
 'GROUP BY
 comment_author_email
 ORDER BY
 comments_count DESC
 LIMIT '.$count
 );

 $output = "<div class='top-comment'><table width='100%'><tr align='center' valign='top'>";
 $i = 0;
 foreach($results as $result){
 if ($i>=$col) {
 $output .= "</tr><tr align='center' valign='top'>";
 $i = 0;
 }
 $i++;
 $output .= "<td><div class='avatar-top'>".get_avatar($result->comment_author_email,$avatarSize)."</div><div class='avatar-comment'>";
 if ($length and $length<mb_strlen($result->comment_author)) $result->comment_author = trim(mb_substr($result->comment_author, 0, $length)).'.';
 if ($result->comment_author_url)
 if ($nofollow)
 $output .= "<a target='_blank' rel='nofollow' href='".$result->comment_author_url."'>".$result->comment_author."</a>";
 else
 $output .= "<a target='_blank' href='".$result->comment_author_url."'>".$result->comment_author."</a>";
 else
 $output .= $result->comment_author;

 if ($comment) $output .= "(".$result->comments_count.")";
 $output .= "<div style='clear:both;'></div></div></td>";
 }
 if ($i<=$col) $output .= "</tr>";
 $output .= "</table></div>";
 echo $output;
}

Настройте код так, как вам нравится и сохраните файл. Настраивается код с пункта 4 по 11, в коде стоят подсказки, так что разобраться будет не сложно.

Теперь разберемся с оформлением. Откройте файл со стилями «style.css» («админ-панель» => «внешний вид» => «Редактор» => «style.css») и вставьте вот такой код:

/* ТОП-комментаторов */
.top-comment
 {
height:100%;
margin-top: 40px;
}

.top-comment table
{
 min-height: 100%;
 height:100%;
}

.top-comment table td
 {
 padding:0 5px 15px 5px;
}

.top-comment .avatar-top img
 {
 -webkit-box-shadow: #666 0px 2px 3px;
 -moz-box-shadow: #666 0px 2px 3px;
 box-shadow: #666 0px 2px 3px;
 padding: 3px;
 background: white;
 border-image: initial;
 border: 1px solid #D0D0BB;
 margin: 0 0 3px 0;
}

.top-comment .avatar-comment
{
 font-size: 12px;
}

.avatar-comment
{
width:110px;
}

/* конец ТОП-комментаторов */

Теперь следует определиться с местом, где бы вы хотели видеть блок «ТОП комментаторов».  Если внизу блога, тогда откройте файл «footer.php»
(«админ-панель» => «внешний вид» => «Редактор» => «footer.php»).
Если в боковой колонке, тогда откройте файл «sidebar.php»
(«админ-панель» => «внешний вид» => «Редактор» => «sidebar.php») и вставьте вот этот код:

<h2>Лучшие комментаторы</h2>
<?php sp_top_commentator(); ?>

Внимание: не ставьте этот код в виджеты, так как код работать не будет!!!

Вот и все! Если у вас присутствовали на блоге комментарии, тогда вы можете увидеть результат работы!

Вот так ТОП комментаторов выглядит у меня:

Как сделать топ комментаторов без плагина для WordPress

До новых встреч.

Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓

Получай обновления блога!!! Подпишись:

Популярные статьи:

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

;-) :| :x :twisted: :smokes: :smile: :shock: :sad: :rose: :roll: :razz: :pop-corne: :oops: :o :mrgreen: :lol: :idea: :grin: :gazeta: :evil: :cry: :cool: :coffe: :arrow: :???: :?: :!:

Чтобы добавить в комментарий код HTML, PHP, CSS, JavaScript, нужно сделать так: [code] ваш код [/code]

Метки: ,

Мои цели на 2018-2019:

1). Закончить тему «Bootstrap»

2). Закончить тему «Все про PHP и MySQL»

3). Создать портфолио и мини интернет-магазин шаблонов

4). Довести количество статей до 800

5). Добиться посещаемости 3000 человек/сутки

6). Увеличить число подписчиков до 250

Статистика по блогу

Количество записей на блоге: 804
Количество страниц на блоге: 20
Количество рубрик на блоге: 28
Количество меток на блоге: 72
Количество комментариев на блоге: 4670