Ваш путь: Главная » WordPress без плагинов » текущая страница

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


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

Как добавить на сайт адаптивный блок топ комментаторов..?

реализуем адаптивный топ-блок комментаторов

 

Продолжим оптимизировать блог.

…эта статья продолжение… Добавляем топ комментаторов на сайт, без плагина А значит в подробностях сегодня толковать не стану: кто не читал, пройдите, взгляните…

А мы же приступим к АДАПТИВНОМУ делу, после которого у вас на сайте наконец-таки заработает совершенно адаптивный блок ТОП-комментаторов.

Мне недавно посетовали…


 

… “вот, мол, в инете сплошняком перепосты и отыскать полезное затруднительно… Так много хлама набралось со времён рождения блогерства: пора бы и вычистить…”

 

Это касалось статей о добавлении на свой сайт ТоП-комментаторов и того, что все мануалы в сети описывают НЕАДАПТИВНЫЙ вариант вывода ТОПА “а сейчас, как воздух, нужен вывод АДАПТИВНЫХ Топ комментов…”

 

 

Хотя в скобках замечу: напрасно полагают, что нынче необходимы тольче адаптивные решения.
Не всегда! …тут решающее право специфике и геометрике работы сайта.
Кому что
…как толкуют старики…

 

 

И вот, крепенько подумав, я написал такой коротенький пост посвящённый АДАПТАЦИИ ТОП комментов (в добавку к первому посту).

 

Но действительно, полазив в интернете (вероятно не внимательно) ничегошеньки путного не нашёл! Правда меня Яшка упорно выводил на один сайт, в котором был показан “полезный” код, но тот увы – нерабочий.

 

Я не стал искать ошибку (лень-батюшка), а просто кое-что подпилил-подправил и даю вам совершенно рабочий код ТоПкомментаторов как в PHP решении, так и в CSS.

 

 

ПАМЯТКА:

…напоминаю всякий раз: заведите какой-то документ «запоминалку» всех совершаемых эксов с блогом. Копируйте редактируемые файлы. Пригодится!

Поверьте: так короче до профессионализма, ибо возможность переварки накопленных крупиц знаний в кашу маловероятна!

 

 

Вот собственнолико код, который нужно прописать в файл функций functions.php

 

//НАЧАЛО ТОП
    function sp_top_commentator(){
       global $wpdb;
       $length = 7;//Макс... длинна имени комментатора в символах, если стоит 0, то имя не обрезается
       $month = false;     // true - за текущий месяц, false - за все время
       $comment = false;    // показывать количество комментариев true
       $nofollow = true;   // ссылки nofollow false
       $count = 6;         //число иконок
       $col = 3;           //количество колонок оставивших коммы
       $avatarSize = 42;   //размер аватарки
       $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-block clearfix'>";
          foreach($results as $result)
          if ($count>0) {
        $output .= "<div class='top-comments-mihalica'><div class='top-comments-avatar'>".get_avatar($result->comment_author_email,$avatarSize)."</div><div class='top-comments-nameavatar'>";
        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></div>";
          $count=$count-1;
          }
          $output .= "</div>";
          echo $output;
 
}
//ФИНАЛ ТОП

 

 

После того как добавите вышепоказанный код, откройте файл стилей style.css и пропишите в этот документ стили же ИЗЯЩЕСТВА CSS.

 

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

 

 

 

 

 

 

 

 

 

 

 

Вероятно, обратили внимание, что предложенный код оченно похож на прежний!?

Но это не совсем так: финально-функциональная его часть несколько отлична, тем паче я всё это обёрнул в новые DIV классы (приближены максимально к классике, так что у кого-то сразу всё заработает, без большой подстройки), – а посему старые стили CSS следует поменять, если у вас был установлен на сайте не адаптивный вариант кода ТОП-Комментаторов.

 

Вот эти полезные стили топ-весёлых…

 

/*ТОПкомментS*/
.top-comments-block{width:100%;font-size:12px;line-height:22px;margin:0;padding:0}
.top-comments-mihalica{display:block;float:left;margin-right:5px;margin:0;text-align:center;width:100px}
.top-comments-avatar img{width:42px;height:42px/*;float:left*/;padding:2px;background:white;border-image:initial;margin:0px 3px 4px}
.top-comments-nameavatar{}
@media only screen and (max-width:1200px) {
.top-comments-mihalica{width:58px;margin-right:1px}
}
/*@media only screen and (max-width:800px) {
.top-comments-block{
     display:none;
}
}*/
/* =END ......*/

 

…на этом, собственно, и всё!

 

 

Но что хочу сказать: видите строки 30 и 34 закомментированы ??????? – если раскомментировать пример, то при просмотре вашего сайта на мобильнике, к примеру, блок комментаторов будет прятаться display:none;.

А если прятать не хотите, то оставьте всё как есть в финальном примере.

 

 

Для более подробной инструкции пройдите по ссылке, расположенной в начале поста.

 

Также хочу сказать тем, которые ещё НЕ задали отработку PHP в виджете (ибо обычно прописывают вывод ТОП в боковую панель), прочтите и установите код… Иначе прописка ТОПА может не заработать… (в зависимости от вашей темы)

 

 

 

…И финальное, перед занавесом…

 

Ниже строка, отвечающая за вывод самой формы ТОПА, которую и нужно прописать в виджет: (А вот статья о настройке удобного ЗАПРЕТА/ВЫВОДА самих виджетов – как вариант, widget visibility позволит задавать отображение виджетов в определённых разделах сайта widgets-control и widget visibility)

 

 

<?php sp_top_commentator();?>

 

 

К слову:

Недавно увидел на одном из сайтов этот доработанный мною код – обращаю внимание тех, которые установили его себе и он не заработал. Там у меня смешанные DIVы, а автор перекопировал (не вижу ничего в этом особенного, кроме того, что он немного его поменял, заметая следы). Дату своей статьи даже заменил на годовалую давность: – не понимаю – какой смысл, будто б автор новатор?

 

…хотя основной код написан кем-то иным.

 

Будьте внимательны! немного поправить придётся.

А лучше устанавливайте по этой статье и СПРАШИВАЙТЕ коли что !!

 

 

А вот кстати и видео правильного добавления кода рекламы на сайт…

 

 


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


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

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





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

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

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

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