возможно заказать разработку или сопровождение, услуги вашего сайта/блога


обновлено: 2024-02-13 в теме: WordPress без плагинов
Запросто с WordPress создание и продвижение сайтов ATs media

Добавляем топ комментаторов на сайт, без плагина

 

Сегодня я покажу, как добавить себе на сайт топ комментариев, не используя плагин: да и всевозможный плагиат не лучший вариант – тяжеловато для блога. Честно говоря, решился я написать подобный пост (коих и без моего великое множество) только потому, что у меня недавно спросили: какие я задавал стили css своим аватаркам?

 

Я, конечно, ответил… и тут же с «пылу-жару» решил изложить и свой небольшой пост этой темы. Но балаболить только об аватарках, это как-то неэтично, и посему привожу пример вставки «комментариев» полностью, с кое-каким своими добавками.


как добавить на сайт топ комментаторов

 

 

Итак, ниже основной скрипт код топ-комментаторов, который необходимо добавить в файл functions.php : — открываете файл и в самом его финале, перед «?>» прописываете его.

 

 

Код рабочий, с моего сайта. Так что будьте внимательны, когда станете редактировать свой functions.php, ибо если вы всю прописку предложенного мною кода выполните правильно, ТОП сразу же заработает. А если совершите ошибку — проверяйте свои действия. Страхуйтесь, копируйте всё куда-нить…

 

Напоминаю: электронные почты и т.п. следует заменить на свои…

 

Тут-Тайна

//НАЧАЛО ТОП
function sp_top_commentator(){
    global $wpdb;
    $length = 20;        // Максимальная длинна имени в символах, если стоит 0, то имя не обрезается
    $month = false;     // true - за текущий месяц, false - за все время
    $comment = true;    // показывать количество комментариев true
    $nofollow = true;   // ссылки nofollow false  - закрытые
    $count = 9;        // количество комментаторов
    $col = 3;       // количество колонок
    $avatarSize = 60;   // размер аватара
    $exceptionEmail = '@@@@@ya.ru, @@@@yandex.ru, @@@@gmail.com'; // мыла-исключения
    $lengthMin = 10;    // минимальное количество символов в учитываемом комментарии
    $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.' where CHAR_LENGTH(comment_content) > '. $lengthMin .' order by comment_ID desc) as pc
        WHERE
            comment_author_email != "" AND
            comment_type = "comment" 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,
            comment_ID ASC
        LIMIT '.$count
    );

    $output = "<div class='top-comment'><table><tr>";
    $i = 0;
    foreach($results as $result){
        if ($i>=$col) {
            $output .= "</tr><tr>";
            $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;
}
//ФИНАЛ ТОП

 

И, как только разберётесь с кодом функций, сразу же открывайте файл стилей style.css (тем, кто не знает: все перечисленные файлы в том числе и этот расположены в корневой папке вашей темы.     Ну и, я, думаю, сами разберётесь куда его в этот файл стилей прописывать. Обычно, весь новый код (тестируемый) помещают с самый финал файла стилей.

 

Тут-Тайна

/*КОММЫ*/
.top-comment {
height:100%;
}

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

.top-comment table tr {
text-align:center;
vertical-align: top;
}

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

.top-comment table {
padding:0 5px 5px 70px;
background:url(images/top5.png) no-repeat left;
margin:10px 0px 10px 0px;
box-shadow:3px 3px 3px #464646;
-webkit-box-shadow: 5px 5px 15px #464646;
}

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

/* Стили для строчек с именам ТОП*/
.name-author {
margin:-30px -10px 10px 180px;
}

 

…и если прописывали весь этот код правильно, то ваш сайт имеет теперь собственный ТОП комментаторов!

 

 

 

ещё один коротенький вариант CSS топ комментаторов

 

 

 

…мало ли, может кому пригодится:

 

 

.top-comment{height:100%}
.top-comment table{min-height:100%;height:100%;width:100%}
.top-comment table td{padding:0 3px 2px 4px}
.top-comment table{margin:0px -5px}
.top-comment .avatar-top img{float:left;padding:1px;background:white;border-image:initial;margin:0 2px/*САЙД СПРАВ 7))*/ 0;
width:42px;height:42px;-webkit-box-shadow:#666 0px 4px 3px;-moz-box-shadow:#666 0px 4px 3px}

 

 

P\s Возможно, код стилей вам нужно будет редактировать под себя — экспериментируйте…

 

 

Эх, ёксель-бант, чуть не забыл..!

Вот ключевая кодированная строчка ТОПа, без которой ничего не станет работать…

 

 

<?php sp_top_commentator();?>

 

Этот вензель необходимо прописывать туда, где бы вы хотели видеть вывод формы топ-комментаторов: либо в финале статьи — это обычно файл single.php — реже может быть и post-page.php, либо вы решите прописать эту строку в текстовом виджете (как и у меня) тогда ТОП коммы поместятся у вас в сайдбаре.

 

 

Вот, пожалуй, и всё…

 

А кому интересна статья Как добавить на сайт адаптивные топ комментаторов – проходите и прописывайте предложенные коды в свои документы.


подписка feedburner Online консультация по настройкам и созданию сайтов на WordPress

 


...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !


Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...





Нажатия на кнопочки определяют Ваше высокое гражданское сознание

Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©