Seo-Бизнес блог Progress-project

Все о создании, продвижении сайтов и заработке в интернете

Обновлённый дизайн блога Progress-project
logotip «Progress-project»
logotip «Progress-project»

Топ комментаторов, на WordPress блоге без плагина

Здравствуйте уважаемые веб-мастера, сегодня на «Прогресс-проект» мы с вами рассмотрим вариант вывода топ комментаторов в сайт-баре WordPress блога без применения спец-плагинов и со скрытыми от индексации исходящими ссылками на ресурсы комментаторов.

Вместе с обновлением дизайна в сайтбаре блога появился блок топ комментаторов и сегодня я хочу поделиться с вами, как же именно всё это организованно на «Progress-project». В ведь, как известно главной проблемой большинства блоков топ комментаторов предлагаемых многими веб-мастерами, являются сквозные исходящие ссылки на блоги комментаторов участвующих в топ, это касается и специальных плагинов способных выводить топ комментаторов на сайтах или блогах под управлением cms WordPress. Ведь, как известно атрибут nofollow уже неспособен защитить сайт от потери веса.

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

Комментарии играют очень важную роль в развитии практически любого блога с ними материал ресурса обновляется гораздо чаще и поисковые системы видят, что он весьма полезен посетителям и естественно сами посетители будут оставлять свои комментарии гораздо охотнее если мы сделаем своего рода рекламу их проектов в виде ссылок в именах, но как это сделать не нанося ущерба своему сайту?

Я предлагаю воспользоваться специальной функцией которая возьмёт на себя ответственность за вывод блока топ комментаторов с закрытыми в nofollow ссылками, либо вовсе скрытыми от ПС в зависимости от выбранных вами настроек.

Функция топ комментаторов без плагина

Итак, чтобы организовать на своём блоге вывод блока топ комментаторов без плагина, открываем для редактирования файл темы: funсtions.php и в самом его низу до ?> вставляем следующую функцию:

// начало функции топ комментаторов 
function progress_top_commentator(){
global $wpdb;
$progress_number_of_comments = true;
$progress_sorting = false; 
$progress_number_of_rows = 1; 
$progress_avatar_size = 48; 
$progress_number_of_characters = 15; 
$progress_number_of_commentators = 5; 
$progress_email_exception = 'Ваш e-mail'; 
$progress_script = false; 
$progress_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 != "" && comment_type = "" && comment_approved = 1 && comment_author_email NOT IN ('.preg_replace('/([\w\d\.\-_]+@[\w\d\.\-_]+)(,? ?)/','"\\1"\\2',$progress_email_exception).')'.($progress_sorting ? '&& month(comment_date) = month(now()) && year(comment_date) = year(now())' : '').'GROUP BY comment_author_email ORDER BY comments_count DESC LIMIT '.$progress_number_of_commentators);
$mapping = "<div class='commentator'><table><tr>";
$i = 0;
foreach($progress_results as $result){
if ($i>=$progress_number_of_rows) {
$mapping .= "</tr><tr>";
$i = 0;
}
$i++;
$mapping.= "<td><div class='avatar-author'>".get_avatar($result->comment_author_email,$progress_avatar_size)."</div><div class='name-author'>";
if ($progress_number_of_characters and $progress_number_of_characters<mb_strlen($result->comment_author)) $result->comment_author = trim(mb_substr($result->comment_author, 0, $progress_number_of_characters)).'.';
if ($result->comment_author_url)
if ($progress_script)
$mapping.= "<span class='external-reference' data-link='".$result->comment_author_url."'>".$result->comment_author."</span>";
else
$mapping.= "<a target='_blank' rel='nofollow' href='".$result->comment_author_url."'>".$result->comment_author."</a>";
else
$mapping.= "<b>".$result->comment_author."</b>";
if ($progress_number_of_comments) $mapping .= "(".$result->comments_count.")";
$mapping.= "<div style='clear:both;'></div></div></td>";
}
if ($i<=$progress_number_of_rows) 
$mapping.= "</tr>";
$mapping.= "</table></div>";
echo $mapping;
}
// конец функции топ комментаторов

Сохраняем внесённые в файл изменения и производим настройку блока топ комментаторов.

Настройка блока топ комментаторов

В 4 строчке функции у нас с вами идёт вывод общего числа комментариев оставленных тем или иным посетителем, чтобы включить оставьте: «true», если желаете отключить измените на: «false».

$progress_number_of_comments = true;

В 5 строчке мы с вами можем указать за какой именно период в блоке должны выводиться комментарии: «false» за весь период существования блога: «true» один последний месяц.

$progress_sorting = false;

В 6 строчке указываем число выводимых в блоке колонок.

$progress_number_of_rows = 1;

В 7 строчке указываем необходимый размер аватара комментатора.

$progress_avatar_size = 48;

В 8 строчке обрезаем длинные имена до указанного количества символов.

$progress_number_of_characters = 15;

В 9 строчке указываем число комментариев в одной ячейке.

$progress_number_of_commentators = 5;

В 10 строчке пишем свой адрес электронной почты который задан в настройках блога по адресу: «Настройки — Общие», этим мы исключаем из топ ответы администратора ресурса.

$progress_email_exception = 'Ваш e-mail';

В 11 строчке мы с вами определяем в каком виде будет прибывать url ведущий на блок автора комментария, если указать: «false» мы будем иметь обычную ссылку закрытую атрибутом nofollow, «true» превратит все линки в текст в блоке span.

$progress_script = false;

При выборе последнего на блоге предварительно должны быть произведены все действия описанные в статье: Как скрыть от индексации ссылки — подгрузка линков при помощи jQuery AJAX .

После этого в то место где бы вы хотели вывести блок топ комментаторов вставляем вот такую функцию:

<div class="top-comment"><?php progress_top_commentator(); ?></div>

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

Открываем для редактирования файл стилей темы: «style.css» и в низу вставляем:

/*** Стили блока топ комментаторов ***/
/* Стили для всего блока */
.top-comments { 
width:350px; /* Ширина блока */
height:100%; /* Высота блока */
margin:10px 0 0 10px; /* Внешние отступы */
border:#F5F5F5 solid 1px; /* Рамка вокруг блока */
border-radius:10px 10px 10px 10px; /* Закругляем углы (не обязательно) */
box-shadow:#F5F5F5 2px 4px 5px,#F5F5F5 0 0 5px inset; /* Тень для рамки (не обязательно) */
background:#FFFFFF; /* Цвет фона */
}
/* Стили для таблицы в целом */
.сommentators table {
background:url(images/top5.png) no-repeat left; /* Подключаем изображение */
margin:10px 0px 10px 20px; /* Отступа от таблицы до рамки блока */
}
/* Стили для ячеек таблицы */
.сommentators table td {
padding:0 5px 15px 5px; /* Внутренние отступы */
}
/* Стили для аватаров */
.avatar-author img {
border:1px solid #ffffff; /* Толщина, тип и цвет рамки для аватара (не обязательно)*/
margin-left:120px; /* Внешний отступ от левого края */
box-shadow:3px 3px 3px #464646; /* Тень для аватара (не обязательно) */
-webkit-box-shadow: 5px 5px 15px #464646; /* Размываем тень (не обязательно) */
}
/* Стили для строчек с именам */
.name-author {
margin:-30px -10px 10px 180px; /* Внешние отступы */
}
/* Стили для строчек с именам, когда имя ссылка */
.name-author a {
color:#003964; /* Цвет текста */
font-weight:bolder; /* Жирность текста */
font-size:12px; /* Размер шрифта */
} 
/* Стили для строчек с именам, когда имя текст */
.name-author b {
color:#003964; /* Цвет текста */
font-weight:bolder; /* Жирность текста */
font-size:12px; /* Размер шрифта */
}
/*** Конец стилей блока топ комментаторов ***/

Сохраняем внесённые изменения, далее вам нужно загрузить какое либо изображение с названием и расширением: «top5.png» в папку темы: «images».

Вот в принципе и всё, если всё сделано правильно и нет никаких особенностей темы препятствующих работе, у вас должен появиться такой же блок топ комментаторов, как и на «Progress-project».

На сегодня у меня всё, подписывайтесь на обновления и до новых встреч!

С уважением, автор блога!
© progress-project
★Обновлено:2016-05-19

Введите свой e-mail:

Вы можете поделиться статьёй в социальных сетях:

Комментарии к статье

2 комментарияна “Топ комментаторов, на WordPress блоге без плагина”
  1. Егор:

    Хорошая статья, спасибо

    Ответить
    • Administrator:

      Здравствуйте Егор, очень рад, что статья Вам оказалось полезной!

      Ответить

Ваш комментарий

Внимание! Перед тем, как вставить в комментарий: html, php либо JavaScript, преобразуйте его в HTML сущность!

» Подписаться на комментарии по RSS
Поиск по блогу

Введите свой e-mail:

ВКонтакте Google+ Facebook RSS-лента сайта abrek-ad-abra.ru

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

Виктор(6)
seoonly.ru(4)
Иван(3)
Олег(3)
Николай(3)

© 2015-2017

SEO-Бизнес блог «Progress-project».

Все материалы, опубликованные на сайте: принадлежат автору и охраняются в соответствии с законодательством РФ.

При использовании материалов сайта гиперссылка на обязательна!



seo-блог