В целях борьбы со спамом в комментариях я хотел бы скрыть или удалить поле «Веб -сайт» из раздела «Оставить ответ» для комментариев к страницам и сайтам.
У меня нет желания повышать рейтинг других страниц, заставляя их вставлять свои URL-адреса в комментарии на моем сайте, что, кажется, именно то, что хотят сделать 99% комментариев на моем сайте.
Я использую тему Twenty Ten, если это имеет значение в ответе.
Спасибо!
Почему бы не использовать Akismet и/или капчи?
Это помогло — спасибо! Создал папку с именем «remove-url-field» и создал внутри нее файл с именем «remove-url-field.php», а затем пошел и активировал плагин, который появился в интерфейсе плагинов. Быстро и просто!
Для простых плагинов, таких как приведенные выше, нет необходимости создавать папку, отдельный файл будет работать нормально.
Это действительно самый простой способ? Кажется странным, что в админке есть опции, например, «Автор комментария должен указать имя и адрес электронной почты», но не скрыть поле «Веб-сайт».
Что в этом сложного? Если вы не хотите иметь дело с FTP, я уверен, что вы можете найти что-то в репозитории плагинов, что сделает это.
@MD004 MD004 Закрытие тега PHP не требуется в конце файла. В некоторых случаях это может даже оказаться вредным, так как некоторые редакторы молча добавляют новую строку в конец файла, который отправляет новую строку в браузер в качестве первой части тела ответа. Это становится очень плохо, когда вам нужно отправить пользовательские заголовки позже, чем загружаются плагины, или когда XML ожидает, что правильный текст будет первым текстом в документе, а не новой строкой.
Создайте файл
wp-content/plugins/
с этим кодом:Обычно я бы посоветовал поместить его в файл functions.php вашей темы, но я бы не рекомендовал делать это для темы, которая может обновляться, например Twenty Ten. Этот способ позволит вам добавить эту функциональность в виде подключаемого модуля, который можно отключить.
Помимо хорошего ответа Джона, я использую более простое решение, которое позволяет мне лучше контролировать форму комментария и ее поля.
По умолчанию ваша тема
comments.php
( например, Twenty Eleven ) может иметь что-то вроде этого:<?php comment_form(); ?>
Теперь использование
<?php comment_form(); ?>
такое же, как:Единственная разница, насколько мне известно, в том, что более длинная версия дает вам больше гибкости. Как и в вашем случае, вы не хотите показывать поле веб-сайта. Итак, вы просто удаляете
url
параметр вfields
массиве, и конечный результат такой:… это то, что вам нужно.
Рекомендуемая литература: Справочник по функциям WordPress Codex / comment_form
Исходный файл: (баговая версия — самая последняя)
http://core.svn.wordpress.org/trunk/wp-includes/comment-template.php
Не идеальное решение, другие решения в порядке
Вместо того, чтобы модифицировать PHP, форму комментариев, в любом случае, это всего лишь одно поле ввода, что там, если оно загружено и скрыто, Вместо того, чтобы писать
if
операторы илиrewrite
форму комментариевпросто скройте поле URL
Удалить поле веб-сайта из формы комментариев довольно просто. Ниже приведен код, состоящий всего из нескольких строк:
Источник: Как удалить поле веб-сайта из комментария WordPress?