Главная Новости

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


Опубликовано: 01.09.2018

Если вы решили провести конкурс на лучшего комментатора месяца, я вам расскажу, как это сделать. Если вы используете движок 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 = 'е[email protected], 'е[email protected]'; // мыла-исключения $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_type = "" 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 , без плагинов

rss