Первое, что надо сделать, это зайти в админ панель Вашего блога, в меню: Настройки → Обсуждения → Аватары и проверить, отмечена ли точкой позиция «Показывать аватары». Если отмечена – отлично, если нет – отметьте.
Второе: редактируем файлы темы.
Редактировать будем файлы functions.php и style.css, поэтому рекомендую сначала сделать их эталонную копию (как это делать, я рассказывала в статье «Как установить логотип на WordPress-сайт»).
Теперь делаем копию рабочую, в которую будем вставлять необходимый код.
Код, который Вы будете копировать из моей статьи, обязательно сначала вставьте в Notepad++ и проверьте его на правильность копирования. И еще: в конце скопированного фрагмента будет добавлена ссылка на эту статью вида :
Эту строчку из кода перед вставкой в файл сайта обязательно надо удалить.
В файл functions.php либо в начале, после открывающего тега (я поставила в самом конце файла перед последним ?>) вставляем следующий код:
// комментаторы без плагинов
function top_commentator(){
global $wpdb;
$length = 0; // Максимальная длинна имени в символах, если стоит 0, то имя не обрезается
$month = false; // true – за текущий месяц, false – за все время
$comment = true; // показывать количество комментариев
$nofollow = true; // ссылки nofollow
$count = 9; // количество комментаторов
$col = 3; // количество колонок
$avatarSize = 60; // размер аватара
$exceptionEmail = ‘new.nzh@gmail.com’; // мыло-исключение, например Ваше
$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 = “
”;
$i = 0;
foreach($results as $result){
if ($i>=$col) {
$output .= “”;
$i = 0;
}
$i++;
$output .= “ ”;
}
if ($i<=$col) $output .= “
”;
$output .= “
$i = 0;
foreach($results as $result){
if ($i>=$col) {
$output .= “”;
$i = 0;
}
$i++;
$output .= “ ”;
}
if ($i<=$col) $output .= “
”;
$output .= “
”.get_avatar($result->comment_author_email,$avatarSize).” ”; if ($result->comment_author_url) if ($nofollow) $output .= “comment_author_url.”‘>”.$result->comment_author.””; else $output .= “comment_author_url.”‘>”.$result->comment_author.””; else $output .= $result->comment_author; if ($comment) $output .= ” (“.$result->comments_count.”)”; $output .= “ |
”;
echo $output;
}
// комментаторы без плагинов
Поясню начальные данные:
$length = 0; // Максимальная длина имени в символах, если стоит 0, то имя не обрезается;
$month = false; // Показывается топ за: true – текущий месяц, false – все время;
$comment = true; // Показывать количество комментариев, соответственно, если false, то количество не показывается;
$nofollow = true; // Ссылки nofollow. Для dofollow-ссылок ставьте false;
$count = 9; // Количество комментаторов;
$col = 3; // Количество колонок в виджете;
$avatarSize = 60; // размер аватара;
$exceptionEmail = ‘new.nzh@gmail.com’; // емэйл-исключения, например, автора блога (согласитесь, нелепо, когда в топе находится автор блога). Можно задать несколько адресов через запятую.
Далее, в самый конец файла style.css вставляем следующий код. А потом уже Вы можете редактировать его под свой дизайн (если умеете обращаться с кодами css):
/* Вторая часть кода, вставляется в style.css: */
.top-comment {
height:100%;
}
.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 #aaa;
margin:0 0 3px 0;
}
.top-comment .avatar-comment {
font-size:12px;
}
Теперь создаем новый виджет Text, ставим его в то место, где хотим видеть Топ комментаторов, и вставляем в него эту функцию:
Наслаждаемся результатом.
Впрочем, результата может и не быть. Вполне возможно, что вместо ожидаемого виджета Вы увидите вставленный код. Ничего страшного. Снова идем в файл functions.php (уже измененный) и добавляем третью часть кода (опять же, в самом конце, до тега ?>):
//Третья часть кода, вставляется в functions.php после первой:
add_filter(‘widget_text’,'sp_widget_execute_php’,100);
function sp_widget_execute_php($text) {
if(strpos($text,’
ob_start();
eval(‘?>’.$text);
$text = ob_get_contents();
ob_end_clean();
}
return $text;
}
Нравится ли Вам Ваш виджет «Топ комментаторов» без плагина для WordPress-блога? Не забывайте писать комментарии, чтобы попасть в топ.
0 коммент.:
Отправить комментарий