Правим отображение количества комментариев
Очень многие блогеры, популярные и не очень, используют систему Disqus. Оно и ясно, система удобная, на ней мало спама, она позволяет проверять комментарии сразу нескольких блогов с одной админки, всех достоинств не пересчитать.
Но есть и недостатки. В основном всё сводится к тому, что он либо медленно, либо вообще не грузится. Плохо конечно, теряем комментаторов, но бля, Disqus же реально удобен.
Не забудьте заглянуть в конец поста, там небольшой конкурс на 1000 рублей.
Кстати, я даже писал о том, как установить Disqus на WordPress блог.
Но у дискуса есть сраный недостаток - он влазит в шаблон со своим счётчиком комментов. Говно в том, что почему то он не может определить правильное число комментов и ставит ссылку "View Comments" на комментарии. Неприятно, неудобно, плюс этим может довольно сильно покосячиться дизайн, с чем я и столкнулся на одном из сайтов. Правда недавно заметил, что более новые версии немного поправили этот косяк (вроде, не смотрел точно), но он подгружается черес javascript, и довольно часто не выполняет свою функцию, так и оставляя "View Comments".
Кто то ткнёт в меня пальцем и крикнет "пиздабол!", а зря. Да зайдите хотя бы к Димку (http://blog.dimok.ru) и посмотрите в правый нижний угол. Мало? Ок, гуглим запрос "View Comments" (в кавычках, да) и смотрим выдачу. У многих такая шняга, но всем похуй.
Мне такое не слишком понравилось и началось ёбство с пресловутым дискусом. В начале написал Сане (http://wa7sa34.cx) (бля, я так часто к нему заходил, что запомнил его домен), попросил рассказать чо да как, ибо у него всё тип-топ смотрится. Он няшечка, рассказал как всё сделал, и даже больше (мне нужно было только узнать как wordpress выводит число комментов). Попробовал у себя - не работает. Копал дальше.
В начале очень долго гуглил по запросу "disqus View Comments wordpress" и похожим, лазя по буржуйским сайтам. Нашёл даже один фикс, но он не работал (о чём многие писали автору). Больше поиск не принёс результатов.
Начал думать сам (и ебать моск одному товарищу). И как то утром я поборол эту гадость (аплодисменты)! Итак, ниже инструкция как поправить недочёт disqus.
- Лезем в файл disqus.php, который лежит в корне плагина. Открываем и ищем строки:
add_filter('comments_template', 'dsq_comments_template'); add_filter('comments_number', 'dsq_comments_text'); add_filter('get_comments_number', 'dsq_comments_number'); add_filter('bloginfo_url', 'dsq_bloginfo_url');
Комментируем (или удаляем) вторую и третью строку. В результате у нас получится следующее:
add_filter('comments_template', 'dsq_comments_template'); //add_filter('comments_number', 'dsq_comments_text'); //add_filter('get_comments_number', 'dsq_comments_number'); add_filter('bloginfo_url', 'dsq_bloginfo_url');
- Всё в том же файле disqus.php ищем эту часть кода:
// Mark entries in index to replace comments link. function dsq_comments_number($count) { global $post;if ( dsq_can_replace() ) { return '<span class="dsq-postid">'.$count.'</span>'; } else { return $count; } }
И комментируем её, добавив перед каждой строкой по 2 слеша (//), либо удаляем.
- В файл functions.php, который в папке с вашим шаблоном, добавляем такой код:
function pluralize($value, $arg) { $number = abs($value); $a = $number % 10; $b = $number % 100; if (($a == 1) && ($b != 11)) { return $arg[0]; } else if (($a >= 2) && ($a <= 4) && (($b < 10) || ($b >= 20))) { return $arg[1]; } else { return $arg[2]; } }
Если такого файла нет, то просто создаём его.
Этот код сделает счётчик кошерным, каким его не может сделать сам wordpress. Взято у Васи (http://vas3k.ru/work/django_ru_pluralize), там же и объяснение. - И последнее. В шаблоне, в то место, где нужен счётчик комментариев, добавляем такой код:
<?php echo get_comments_number() . " " . pluralize(get_comments_number(), array("комментарий", "комментария", "комментариев"));?>
Если ещё есть вопросы - жду в комментариях.
А так, собственно, всё. :) Теперь, когда сайт приобрёл более красивый внешний вид, задумайтесь - а продвижение сайта самостоятельно, сложно ли это лично для вас? Самое время подумать, сеошнеки борзеют, требуют больше бабла и времени, а позиции не растут. Надо всё брать в свои руки!
Ах да, я обещал конкурс. В общем у меня давно лежит купон Google AdWords на 1000 рублей. Он до 31-го января, истекает очень скоро. Поэтому конкурс простой. Ниже есть кнопка ретвита. Нажимаем её и постим в комментариях ссылку на твит и свой e-mail. Затем 30-го числа я наугад выбираю твит и отсылаю код. Если никто не будет участвовать - купон тупо станет просроченным. Думаю всё просто.
У вас свой бизнес? Или своя компания? Тогда вам явно нужна разработка сайтов. Это очень ответственный момент, ведь сайт вашей компании в сети - это как ваше лицо. Поэтому нужно доверить это только профессионалам. Рекомендую команду Serenity, качество исполнения вас точно порадует.
Нужна коневозка? Лол.