WordPress был разработан специально для создания блогов. Неотъемлемой частью блогов является возможность комментирования статей посетителями – этот инструмент позволяет не только узнать мнение читателей относительно опубликованного материала, но также общаться с пользователями, отвечая на их комментарии.
Однако WordPress не всегда используют для создания блогов. Эта CMS хорошо подходит для создания простых сайтов-визиток, новостных и медиа сайтов, на которых либо вовсе не нужна возможность комментирования, либо нужна только на определенных страницах. Причин для такого решения может быть сколько угодно, и я уверен, что если вас заинтересовала эта статья, у вас есть своя причина для отключения комментирования 😉
Итак, вне зависимости, по какой причине вы хотите отключить комментирование, для этого существует несколько способов, о которых я и расскажу в этой статье.
Способ №1 – Глобальное отключение комментариев для всего сайта
Первым способом является глобальное отключение комментариев в настройках самого WordPress. Для этого необходимо зайти в меню админ-панели Параметры -> Обсуждение и убрать галочку с пункта «Разрешить оставлять комментарии на новые статьи».
Будьте внимательны! Отключение этого пункта касается только новых комментариев, те которые были созданы ранее так и останутся опубликованными. Чтобы убрать их, вам придется удалить их вручную из меню управления комментариями.
Способ №2 – Выборочное отключение комментариев для определенных записей
Второй способ подходит пользователям, которые не хотят полностью отключать возможность комментирования, а только запретить их для выбранных записей или страниц. Для этого при создании новой записи необходимо убрать галочку «Разрешить комментарии» в разделе «Обсуждение», которое находиться под окном редактора.
Если у вас нет раздела «Обсуждение» под окном редактора на странице создания записи или страницы — в правом верхнем углу страницы нажмите на выпадающее меню «Настройки экрана» и поставьте галочку «Обсуждение». После этого у вас отобразиться этот раздел под окном редактора.
Для того чтобы закрыть комментирование в уже созданных записях, зайдите в меню админ-панели Записи -> Все записи, выберите нужную запись, нажмите на «Свойства» и в появившемся окне уберите галочку «Разрешить комментарии». Не забудьте нажать кнопку «Обновить» для сохранения изменений.
Примечания: Обратите внимание на то, что варианты, описанные в Способе №1 и 2, только запрещают комментирование, при этом вместо полного отключения формы для написания комментариев в некоторых темах для WordPress может выводить сообщение о том, что комментирование запрещено.
Для того чтобы полностью отключить форму комментирования и «вырезать» её из темы, смотрите следующий способ.
Способ №3 – Отключение формы комментирования в самой теме
Этот способ подойдет для опытных пользователей, которые разбираются в PHP или для смелых пользователей любого уровня, которые не боятся ковырять код собственной темы.
Откройте файл comments.php в вашей теме и закомментируйте (т.е. сделайте его неактивным) или удалите следующий код:
<!-- If comments are closed. -->
<p class="nocomments">Comments are closed.</p>
Отключение/деактивация этого кода убирает вывод уведомления о запрете комментирования, сама же форма продолжает работать и, если вы включите комментирование обратно – комментарии будут корректно работать.
Чтобы полностью отключить форму комментариев без возможности её активации в будущем и убрать ее и связанные с ней элементы со всех страниц и записей вашего сайта, нужно убрать код, отвечающий за работу формы.
Нужный код находиться в нескольких местах:
1) Откройте файл single.php (для записей) и/или page.php (для страниц) в папке с вашей темой и удалите или закомментируйте оттуда строчку:
<?php comments_template();>
Обычно она находится в конце файла;
2) Тоже самое проделайте в файле index.php, но уже со следующим кодом:
<?php comments_popup_link(‘? No Comments’, ‘? 1 Comment’, ‘? % Comments’); ?>
3) В файле archive.php нужно убрать строчку:
<?php comments_popup_link( __( 'Leave a comment', 'fap' ), __( '1 Comment', 'fap' ), __( '% Comments', 'fap' ) ); ?>
Примечания: Код, указанный в пункте 2 и 3 может немного отличаться в зависимости от темы, но в любом случае он будет похож на указанный здесь и должен содержать слова «No Comments’, ‘? 1 Comment’, ‘? % Comments’».
Для того чтобы закомментировать PHP-код необходимо поставить вначале строки символы .
Если вы не пользуетесь специальной программой для редактирования кода – изменить код вашей темы вы сможете перейдя в меню админ-панели Внешний вид -> Редактор. В правой части выберите файл, который вы хотите редактировать, в центральном окне внесите изменения в код и нажмите кнопку «Обновить файл» для сохранения изменений.
Способ №4 – Отключение комментариев для определенных рубрик (категорий)
Данный способ хорошо подходит пользователей, которым необходимо частично отключить комментарии, например, на блоге. Как мы ранее узнали с вами, в самой CMS предусмотрена возможность отключать комментарии для записей, но если таких записей много, становиться неудобно каждый раз убирать галочки. Хорошим выходом из этой ситуации является помещение всех однотипных записей в рубрику и отключить комментарии массово для всей рубрики. Все новые записи, отнесенные к этой рубрике, автоматически будут отображаться без возможности комментирования и без сообщений.
Откройте файл single.php в папке с вашей темой и замените строчку:
<?php comments_template(); ?>
на следующий код:
<?php if (in_category('x')) : ?>
<?php else : ?>
<?php comments_template(); ?>
<?php endif; ?>
Этот код значит, что если запись находиться в категории «х», то форму комментирования отключить, а для всех остальных категорий – выводить. Вместо «х» нужно поставить ID рубрики, в которой необходимо отключить комментарии, например ’25’. Если таких рубрик несколько, то их ID указываются через запятую.
Чтобы узнать ID нужной вам рубрики, зайдите в меню Записи -> Рубрики и наведите мышку на нужную вам категорию, в строке состояния браузера высветиться полный путь к этой рубрике, в нем будет и ID.
Также, если часто придется работать с ID, можно установить плагин Reveal IDs (ссылка на файл), который будет показывать вам ID для всех страниц в админ панели. Плагин совместим с версией WordPress 3.2.1 и поддерживает русский язык.
Примечания: У всех вышеописанных способов (№1, 2, 3, 4) есть недостаток: если тема, которую вы используете обновиться, и вы установите себе новую версию — все изменения, которые вы вносили, будут перезаписаны, а комментирование снова работать. Поэтому нужно либо вносить код заново при каждом обновлении, либо использовать его в темах, которые вы не будете обновлять.
Способ №5 – Отключение комментариев при помощи плагинов
Пятый способ подходит пользователям, которые не хотят лезть в код темы либо тема, которую вы используете, обновляется достаточно часто. Существует несколько плагинов, которые помогут закрыть и убрать отображение комментариев, в том числе не отображать их как раздел в меню админ-панели. Из всех плагинов, опробованных мною, только один оказался рабочим на 100% с большинством тем и последней версией WordPress (на момент написания статьи — 3.3): Disable Comments – в настройках этого плагина можно глобально включить/отключить возможность комментирования для отдельных типов материала, а так же отключить отображение разделов, связанных с комментированием, в меню админ-панели и консоли. Выбрав необходимые настройки, сохраните изменения – используя плагин вы сможете не беспокоится о комментариях, даже если ваша тема обновится.
Примечания: Доступ к настройкам плагина можно получить в меню Параметры -> Disable Comments.
Другие плагины, которые я тестировал: Hide Comments Feature, Disable Comments On Pages, No Page Comment.
Минус плагинов заключается в том, что они работают только на стандартных темах и могут некорректно или совсем не работать с некоторыми темами.
Спасибо, пошел эксперементировать на своем сайте ;))
Буду рад, если моя статья поможет! Удачи с экспериментами и будет хорошо, если напишите об их результатах))
Спасибо Вам огромное за ссылку на плагин! Перечитала десяток статей и потратила кучу времени, вместо того, чтобы сразу установить плагин и не морочиться)
Рад, что Вам пригодилась моя статья!)
Благодарю за помощь ! Я совсем недавно стал заниматься «блоговедством», в пхп не знаток, Ваша статья выручила 🙂 А то комментарии на главной странице блога, ну как то не очень. Ещё раз спасибо 🙂
Спасибо. все понятно и доступно написано, статья очень пригодилась.
Спасибо реально за помощь, нужно было убрать комметы из одной записи. Респект за информацию!
Самое понятное и полное объясннение,которое я нашел в инете.
Спасибо.
Самое понятное и полное объяснение,которое я нашел в инете.
Спасибо.
Спасибо. Очень пригодилась статья.
Спасибо, отличная статья! Изложена понятным и простым языком, а главное со скринами, поясняющими порядок действий. Беру на заметку 🙂
Опять я к вам, что ли? Смотрю, комментарий вроде как знакомый двухмесячной давности:)
Спасибо за статью! Получилось отключить комменты на главной странице. Пришлось ковырнуть код. Но если бы не вы, в жизни бы не знала, что я — смелый пользователь:))
Процветания проекту!
Иногда бывает , что спамят только в определённой статье , вот где поможет выборочное отключение коментов.
Как убрать «Оставить комментарий», «Вы должны войти чтобы оставить комментарий.»?
Самый простой способ — удалить (либо просто сделать их комментариями, на случай, если в дальнейшем они могут пригодиться) строчку кода, отвечающего за вывод этих надписей. Для этого нужно открыть папку с темами, выбрать вашу тему и открыть в любом редакторе файл comments.php. Дальше ищите и удаляете/комментируете строчку:
Тоже самое проделываете для второй надписи — в том же файле, чуть ниже, должна быть строчка похожая на эту:
logged in to post a comment.'), wp_login_url( get_permalink() ) );?>
Доброго времени суток. Подскажите, как вставить на страничку своего сайта кнопку вебмани как у вас на странице справа?
Добрый день я поставил новую тему и у меня пропали комментарии как их включить что бы они снова показывались .Прошу Вас помочь спасибо.
и если можете помогите сделать сайт что бы на нём были 1.2.3.4.5.6.7 и тд. страницы всё и спробывал так и не смог прошу помогите если знаете буду очень Вам благодарен.
Спасибо огромное! Ваша статья мне очень помогла! Воспользовался плагином! =)
Спасибо за инфу, а то уже поднадоело коментов вагон а по сути все ссылки и на английском. Если бы еще написали как убрать поле на форуме движок phpBB3, вообще благодарочка была бы:)
Vadim, пожалуйста, к вашему вниманию статья о том как убрать поле с копирайтом со страниц форума на движке phpbb3 — https://diego.com.ua/?p=899
Спасибо, информация о плагине Disable Comments спасла ситуацию 🙂
Вы мне очень помогли! СПАСИБО!!!!!!!!!!!!!!!!!!!
Спасибо!
Очень подробно и понятно. Спасибо!
Спасибо огромное, только начал делать сайт и ваша статья очень в тему пришлась.
Можно будет потом вас поспрашивать как и что, если столкнусь с проблемами?
Рад, что вам пригодилась статья, Александр! Если у вас есть какие-то вопросы — обращайтесь, помогу чем смогу, может и статью очередную напишу, если интересная проблема 🙂
Спасибо! Помогло!
А как в отдельной статье запретить комментировать всем, кроме админа?
Спасибо, пригодилось для сайта на вордпресс!
Огромное спасибо! Только у вас на сайте нашел полную информацию в этом вопросе. А нехватало то мне всего лишь пункта «поставить голочку Обсуждение»…
Еще раз благодарю!
Спасибо. Пригодилось для моего блога
Огромное спасибо за статью. Очень подробная и полезная информация. Благодаря Вам испарвил то что хотел на моём сайте.
Большое спасибо автору!
Спасибо очень помогли.Всю голову сломал с этими комментариями,но теперь ответ найден!
Для чего нужны обратные ссылки и уведомления в настройках обсуждения?
Эта настройка автоматически публикует ссылку на блог человека, который вставил в статье ссылку на ваш блог и наоборот (это обратная ссылка). Также она уведомляет пользователя о том, что на его блог была сделана ссылка другим пользователем (это уведомление).
Спасибо! С начало полез в код, но в итоге воспользовался плагином) оч удобно и заняло 5 сек!
Большое спасибо. Ценная статья. Все получилось. Убрала слова, которые ставятся перед всем списком комментариев: 3 (или другое число) комментариев к статье такой-то. Строка некрасивая и портит дизайн.
Еще раз спасибо.
А что если удалить все из comment.php ???
Спасибо, воспользовался 4-ым способом. Обьясните пожалуйста, для чего нужна строчка
ОБрезался код… первая строка в 4-ом варианте меня интересует =)
Огромное спасибо за подробный разбор. Уже опробовала на своем сайте. Работает!! Ура! Установила Disable Comments. И добавила ссылку в закладки.
Спасибо 🙂
Diego, вы описали интересный способ, как убрать форму комментариев из определенной рубрики, а можно по аналогии убрать комментарии с определенных страниц? Если можно, то как это реализовать?