Как отучить Disqus перезаписывать количество комментариев в WordPress

Disqus, платформа для комментирования, в процессе своей работы хуком изменяет количество комментариев для WordPress. Это может повлиять на работоспособность вашей темы, так что та, в свою очередь, будет отображать текст «Просмотреть комментарии» вместо вывода актуального количества комментариев для записи. Причина, по которой Disqus пытается заменить количество комментариев, выводимое WordPress, такова, что количество комментариев может быть неверно синхронизировано во многих случаях. Поэтому, такие настройки замены позволяют верно просчитывать количество, и оно соответствует тому количеству комментариев, которое «насчитал» для себя Disqus. Однако, если отключить такую подмену, то ваши страницы будут загружаться быстрее. Недавно нам пришлось поработать над одним клиентским сайтом, где мы и встретились с такой проблемой: платформа комментариев повреждала внешний вид счетчика комментариев. В этой статье мы покажем вам как отучить Disqus перезаписывать количество комментов в WordPress в темах.

После длительного поиска по просторам сети (включая формы GetSatisfaction для Disqus), обнаружилось, что большинство пользователей советуют зайти на вкладку продвинутых настроек и включить такую JavaScript настройку для подсчета комментариев, что и должно решить проблему. Вы можете проследовать на вкладку продвинутых настроек «Комментарии >> Disqus» (смотрите на правый верхний угол скриншота):
disqusadvanced[1]

Эта настройка будет выводить JavaScript в футер вашей темы. Только убедитесь, на всякий случай, что в файле footer.php действительно есть функция wp_footer();. В большинстве тем она присутствует, однако на клиентском сайте ее не было, и пришлось ее добавить. Это решило проблему. При каждой загрузке страницы текст «Просмотреть комментарии» будет отображаться, а затем заменяться через доли секунды на актуальное количество комментариев. Однако, можно будет заметить, что страница стала загружаться дольше..

После дополнительного поиска по сети мы нашли на форуме Themehybrid сообщение от Adam Capriola, предложившего альтернативный вариант решения проблемы. Для начала открываем файл functions.php вашей текущей темы и вставляем туда следующий код:

// Disqus: Отучиваем перезаписывать количество комментариев в WordPress 
remove_filter('comments_number', 'dsq_comments_text');
remove_filter('get_comments_number', 'dsq_comments_number');
remove_action('loop_end', 'dsq_loop_end');

Количество ваших комментариев может отключиться после этой функции. Поэтому переходим в настройки Обсуждений и отключаем Трекбеки. Также отмечаем галочки, которые обязывают комментаторов быть зарегистрированными и у них уже должны быть одобренные комментарии.

Немного «пошаманив», мы добились того, что наша тема отображает правильное количество комментариев при использовании Disqus.

По всем вопросам и отзывам просьба писать в комментарии ниже.

Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.

VN:F [1.9.22_1171]
Rating: 5.0/5 (2 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top