Закрываем комментарии в wordpress для постов и страниц
У меня есть список запланированных тем для постов в блоге, причем достаточно большой, но сегодня будет статья что называется «по горячим следам». Как раз заканчивал разработку одного блога на заказ и в комментариях появился вопрос о том можно ли закрыть комментирование у определенных записей? — да, это реально. Но я решил немного расширить тематику и поделиться небольшим хаком по форме комментариев, что поможет сделать ваш блог более гибким в этом вопросе.
Итак, первым делом про закрытие комментирование. Заходим в редактирование той или иной записи блога. В самом верху веб-страницы справа найдете кнопку «Настройки экрана». В открывшейся вкладке нужно убедиться что установлена галочка напротив опции «Обсуждение».
Когда она там есть, то вам доступны специальные параметры — «Разрешить комментарии» и «Разрешить обратные ссылки и уведомления». По умолчанию они обе активны, но если вы хотите закрыть комментарии в посте, то снимаете галочку «Разрешить комментарии» для него.
После этого идем на сайт и видим предупреждение:
Если пользователь все равно будет вводить комментарий, то в конечном итоге после клика на кнопку «Отправить» он увидит, что данная функция здесь недоступна. Вообще, конечно, немного глупый с точки зрения юзабилити вариант — если комментарии запрещены, то зачем отображать форму? Посетитель может не заметить надпись, потратить время на заполнение комментария, а потом сильно расстроится, что все пропало. Почему бы немного не доработать код дабы все работало логичнее. Я сделаю все для страницы (не поста), допустим, у нас поставлена задача убрать форму комментариев на страницы контактов, но при этом она должна быть в других «О проекте» и т.п.
Для начала немного теории. Шаблон страницы находится в файле page.php. Выводит комментарии (как форму, так и список) функция comments_template(). Данная функция вызывает другой файл шаблона — comments.php. Собственно, в нем вы можете подсмотреть как именно выводится фраза «Комментарии закрыты». Там, кстати, есть возможность подправить стандартные тексты, которые выводятся в блоке комментариев, изменить саму форму и т.п.
Позаимствовав кусок кода, заменяем в файле шаблона страницы page.php вызов функции comments_template() на конструкцию:
<?php if ('open' == $post->comment_status) : ?> <?php comments_template(); ?> <?php endif; ?> |
Теперь, если при редактировании страницы «Контакты» уберете галочку «Разрешить комментарии» в админке wordpress, тогда посетитель не увидит ровным счетом ничего — ни формы, ни комментариев. Если вы хотите провернуть этот хак и для постов блога, то нужно редактировать файл шаблона single.php. Все предельно просто.
комментариев 16 к статье “Закрываем комментарии в wordpress для постов и страниц”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Як сховати відсутні товари в Woocommerce шорткодах та схожих товарах
- Сервіс AdMaven + плагін для монетизації трафіка на WordPress сайтах
- Плагіни для створення стрічки новин з біжучим рядком в WordPress
- Як змінити розміщення кнопки оформлення замовлення в WooCommerce
- Плагін WHWS Display In Stock Products First – відображення товарів в наявності першими
- Підписка MonsterONE: чи варто використовувати цей сервіс у 2023 році? (+5 продуктів, які треба скачати в першу чергу)
- Онлайн генератор ссылок на мессенджеры для WordPress и не только
- WooCommerce (46)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (246)
- Сервисы (87)
- Хаки и секреты (87)
- Шаблоны (45)
- Записи и посты wordpress, оформление записи (5,91 из 7, голосов - 47)
- Проблема с адаптивными изображениями в Gutenberg редакторе WordPress (3,90 из 7, голосов - 48)
- Умный копирайт в footer.php для wordpress (5,63 из 7, голосов - 30)
- Обновление плагинов и тем в WordPress: автоматическое, через FTP, скрытие уведомлений (5,19 из 7, голосов - 31)
- Polylang — плагин для мультиязычных сайтов на нескольких языках в WordPress (4,42 из 7, голосов - 31)
- Плагин TinyMCE Advanced – wordpress текстовый редактор (6,35 из 7, голосов - 20)
- Рубрики и категории wordpress, функция wp_list_categories (6,05 из 7, голосов - 20)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Советы по выбору холодильника LG с технологией No Frost
- Зачем нужны Wi-Fi ретрансляторы и как выбрать подходящую модель
- Введение в онлайн-казино Slotor777: многообразие игр и привлекательные бонусы
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS
На нескольких сайт проверял и нигде нет такой проблемы, после того как убрал галочку с «Разрешить комментарии» форма комментарий исчезает.
Айрат, значит там хорошие шаблоны, в моем форма оставалась поэтому пришлось ее ликвидировать.
в моём тоже, пришлось руками копаться
А как убрать форму для конкретной страницы? Например у меня даже на форме входа форма стоит. я ее убрать хочу. ))))))))))
Art-n1, нужно в последнем примере кода добавить дополнительное условие — мол если страница такая-то, то функцию comments_template не вызывать.
Ура! Спасибо. Искал как включить комментарии. Оказалось, что по дефолту обсуждения были выключены.
спасибо, отличная статья!
Почему-то многие сейчас стали закрывать комментарии к блогам вообще…какая-то новая мода? Или с чем это вообще связано?
Майя, так меньше мороки со спамом.
А у меня наоборот произошло. Был к статье 1 комментарий, нормальный. И вдруг я увидела, что на этой странице исчезла форма комментария и появилась запись «Комментарии запрещены». Когда запретили — не знаю, вот только сегодня увидела. А пост месячной давности.
Кто их запретил и почему?.. Думала, здесь найду что-то про похожую ситуацию, но тоже ничего не нашла.
Да, еще в корзине нашла 2 комментария неизвестных, адрес интим-сайта гадкого какого-то, написаны они были к новому посту, но на блог не попали. А на странице комментарии остались открытыми и форма для них как стояла, так и стоит.
Марина, зайдите в раздел «Параметры» — «Обсуждение», там есть пункт «Автоматически закрывать обсуждение статей старше» — посмотрите активен ли он. Возможно также какой-то плагин закрывает автоматически комментирование.
Привет!
Подскажите, я новичёк в wordpress. Дело в том, что в записях понятно, сколько установлено записей для перехода на следующую страницу, так наверное и будет, я имею ввиду переход на следующую страницу. А как быть с комментариями? Например у меня на «главной» одна запись и больше мне там не нужно их, а вот комментариев там уже до 20 дошло, страница к низу растянулась. Даже страшно становится, если ещё штук 20 комментов и страница метровая станет. Как с этим быть? Неужели не предусмотрено в настройках, что если например настроил 15 комментов на странице и переход на следующую независимо от количества записей? В настройках «обсуждение» есть как бы установка комментов на страницу, но я не пойму, это по моему вопросу или нет? Потому что пробовал установить 3 комментария на страницу, а переключателя страниц всё равно нет. Или я что то не так понимаю?
Sergey, для разбивки комментариев по страницам используется настройка в разделе «Обсуждение», о которой вы упомянули. Для отображения страниц в шаблоне нужно указать функцию:
В общем, если настройка не срабатывает, нужно разбираться с шаблоном.
Ребята может поможете, устал искать…. Ответы есть только на один вопрос — как разрешить или запретить комментарии, но ответа на вопрос — как остановить их, если количество достигло слишком большой величины, нет. То есть есть уже 400 и хочется сказать — все, дальнейшее комментирование закрыто… Как это сделать? Ответа не нахожу ((
Сергей, ну, так в статье как раз об этом и рассказывается — заходите на страницу редактирования определенного поста, затем в блоке «Комментарии» убираете галочку напротив опции «Разрешить комментарии». После этого на странице останутся только прошлые 400 записей и не будет возможности оставлять новые.
Единственное, что в разных шаблонах это проявляется по разному — на скриншоте в данной статье пишется фраза, что комменты закрыты, только что тестировал в другом блоге — там убирается форма комментирования.
Да то то и оно)), убираем галочку и … вуаля, пропали все комментарии, ни одного. (( Помню как то лет 6 назад мой сайт был на джумле еще. Так там была возможность остановить комментарии с извинениями, что дальнейшее комментирования закрыто. Сейчас такой возможности не нахожу, к сожалению. Или плохо ищу. ((