Апр
3
16

Закрываем комментарии в wordpress для постов и страниц

закрываем комментарииУ меня есть список запланированных тем для постов в блоге, причем достаточно большой, но сегодня будет статья что называется «по горячим следам». Как раз заканчивал разработку одного блога на заказ и в комментариях появился вопрос о том можно ли закрыть комментирование у определенных записей? — да, это реально. Но я решил немного расширить тематику и поделиться небольшим хаком по форме комментариев, что поможет сделать ваш блог более гибким в этом вопросе.

Итак, первым делом про закрытие комментирование. Заходим в редактирование той или иной записи блога. В самом верху веб-страницы справа найдете кнопку «Настройки экрана». В открывшейся вкладке нужно убедиться что установлена галочка напротив опции «Обсуждение».

обсуждение wordpress

Когда она там есть, то вам доступны специальные параметры — «Разрешить комментарии» и «Разрешить обратные ссылки и уведомления». По умолчанию они обе активны, но если вы хотите закрыть комментарии в посте, то снимаете галочку «Разрешить комментарии» для него.

После этого идем на сайт и видим предупреждение:

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. Все предельно просто.

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 13, средний балл: 5,77 из 7)
Загрузка...

категория Категории: Возможности;
теги Теги: , , , , , , .

комментариев 16 к статье “Закрываем комментарии в wordpress для постов и страниц”

  • Айрат   05.04.2012

    На нескольких сайт проверял и нигде нет такой проблемы, после того как убрал галочку с «Разрешить комментарии» форма комментарий исчезает.

  • Tod   06.04.2012

    Айрат, значит там хорошие шаблоны, в моем форма оставалась поэтому пришлось ее ликвидировать.

  • inur   15.04.2012

    в моём тоже, пришлось руками копаться

  • Art-n1   24.07.2012

    А как убрать форму для конкретной страницы? Например у меня даже на форме входа форма стоит. я ее убрать хочу. ))))))))))

  • Tod   25.07.2012

    Art-n1, нужно в последнем примере кода добавить дополнительное условие — мол если страница такая-то, то функцию comments_template не вызывать.

  • Александр   03.08.2013

    Ура! Спасибо. Искал как включить комментарии. Оказалось, что по дефолту обсуждения были выключены.

  • Влад   06.03.2014

    спасибо, отличная статья!

  • Майя   24.07.2014

    Почему-то многие сейчас стали закрывать комментарии к блогам вообще…какая-то новая мода? Или с чем это вообще связано?

  • Tod   24.07.2014

    Майя, так меньше мороки со спамом.

  • Марина   04.02.2015

    А у меня наоборот произошло. Был к статье 1 комментарий, нормальный. И вдруг я увидела, что на этой странице исчезла форма комментария и появилась запись «Комментарии запрещены». Когда запретили — не знаю, вот только сегодня увидела. А пост месячной давности.

    Кто их запретил и почему?.. Думала, здесь найду что-то про похожую ситуацию, но тоже ничего не нашла.
    Да, еще в корзине нашла 2 комментария неизвестных, адрес интим-сайта гадкого какого-то, написаны они были к новому посту, но на блог не попали. А на странице комментарии остались открытыми и форма для них как стояла, так и стоит.

  • Tod   05.02.2015

    Марина, зайдите в раздел «Параметры» — «Обсуждение», там есть пункт «Автоматически закрывать обсуждение статей старше» — посмотрите активен ли он. Возможно также какой-то плагин закрывает автоматически комментирование.

  • Sergey   03.08.2015

    Привет!
    Подскажите, я новичёк в wordpress. Дело в том, что в записях понятно, сколько установлено записей для перехода на следующую страницу, так наверное и будет, я имею ввиду переход на следующую страницу. А как быть с комментариями? Например у меня на «главной» одна запись и больше мне там не нужно их, а вот комментариев там уже до 20 дошло, страница к низу растянулась. Даже страшно становится, если ещё штук 20 комментов и страница метровая станет. Как с этим быть? Неужели не предусмотрено в настройках, что если например настроил 15 комментов на странице и переход на следующую независимо от количества записей? В настройках «обсуждение» есть как бы установка комментов на страницу, но я не пойму, это по моему вопросу или нет? Потому что пробовал установить 3 комментария на страницу, а переключателя страниц всё равно нет. Или я что то не так понимаю?

  • Tod   04.08.2015

    Sergey, для разбивки комментариев по страницам используется настройка в разделе «Обсуждение», о которой вы упомянули. Для отображения страниц в шаблоне нужно указать функцию:

    <?php paginate_comments_links(); ?>

    В общем, если настройка не срабатывает, нужно разбираться с шаблоном.

  • Сергей   24.01.2017

    Ребята может поможете, устал искать…. Ответы есть только на один вопрос — как разрешить или запретить комментарии, но ответа на вопрос — как остановить их, если количество достигло слишком большой величины, нет. То есть есть уже 400 и хочется сказать — все, дальнейшее комментирование закрыто… Как это сделать? Ответа не нахожу ((

  • Tod   24.01.2017

    Сергей, ну, так в статье как раз об этом и рассказывается — заходите на страницу редактирования определенного поста, затем в блоке «Комментарии» убираете галочку напротив опции «Разрешить комментарии». После этого на странице останутся только прошлые 400 записей и не будет возможности оставлять новые.
    Единственное, что в разных шаблонах это проявляется по разному — на скриншоте в данной статье пишется фраза, что комменты закрыты, только что тестировал в другом блоге — там убирается форма комментирования.

  • Сергей   24.01.2017

    Да то то и оно)), убираем галочку и … вуаля, пропали все комментарии, ни одного. (( Помню как то лет 6 назад мой сайт был на джумле еще. Так там была возможность остановить комментарии с извинениями, что дальнейшее комментирования закрыто. Сейчас такой возможности не нахожу, к сожалению. Или плохо ищу. ((

Оставить комментарий


Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Поиск:
Последние посты
Лучшее в категории

Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости