Как убрать поле сайт и e-mail в комментариях WordPress

Как убрать поле сайт и e-mail в комментариях WordPress

10 февраля 2020 WordPress

В этой статье рассмотрим как убрать поля e-mail и сайт (URL) в форме комментариев, сделать необязательным поле e-mail и убрать надпись «Ваш e-mail не будет опубликован» без плагинов.

Для чего убирать эти поля? Для того, чтобы пользователям было проще добавлять комментарии и снизить количество СПАМа.

На мой взгляд лучше обойтись без плагинов и написать несколько строчек кода в functions.php текущей темы.

Убираем поля e-mail и сайт из формы комментариев

Открываем файл functions.php из корня вашей темы и добавляем туда следующие строки:

<?
function remove_comment_fields($fields) { 
	unset($fields['url']); // Удаляем URL
	unset($fields['email']); // Удаляем E-mail
	return $fields; 
} 
add_filter('comment_form_default_fields', 'remove_comment_fields');

Поля будут удалены, но поле e-mail все ещё остается обязательным, поэтому комментарий добавить не получится. Рассмотрим далее, как это можно отключить в админ-панели на этой странице

Сделать поле e-mail необязательным

В консоле заходим в Настройки → Обсуждение и убираем галочку с пункта «Автор комментария должен указать имя и e-mail», сохраняем изменения.

Но теперь и поле имя станет необязательным, если пользователь оставит поле пустым, то вместо имени будет надпись Аноним. Если вы хотите оставить поле имя обязательным, то рассмотрим далее как это сделать.

Сделать поле имя обязательным, а e-mail нет

Добавляем все в том же файле functions.php следующий код:

<?
function custom_validate_comment_author() { 
if( empty( $_POST['author'] ) || ( !preg_match( '/[^\s]/', $_POST['author'] ) ) ) 	wp_die( __('Ошибка! Пожалуйста, заполните поле Имя') ); 
} 
add_action( 'pre_comment_on_post', 'custom_validate_comment_author' );

Теперь если имя не заполнено, пользователю будет выводится ошибка.

Убираем надпись «Ваш e-mail не будет опубликован»

Для этого в файле functions.php пишем ещё несколько строк кода:

<?
function my_comments_form($default) {
     $default['comment_notes_before'] = '';
     return $default;
 } 
 add_filter('comment_form_defaults','my_comments_form',999);

Если понадобится изменить остальные поля, то уже можно воспользоваться плагином, таким как например Loco Translate.

Если вам понравилась статья, вы можете отблагодарить автора любой суммой, какую сочтете для себя приемлемой:
Остались вопросы по статье? Задайте их прямо сейчас!
Перенос сайта на WordPress на другой домен

В повседневной работе часто приходится сталкиваться с переносом сайта на Wordpress с локального или тестового домена на основной. Для этого необходимо не только скопировать файлы, базу данных и поменять настройки в конфигурационном файле, но и сделать ряд SQL-запросов, чтобы прописать Читать далее

Правильный файл robots.txt для WordPress 2019

Самый оптимальный и простой код файла robots.txt для вашего сайта на WordPress, который подойдет для всех поисковиков. Этот вариант использую на данном сайте. Не забудьте заменить it-blog.ru на адрес вашего сайта. Содержание файла robots.txt для WordPress Если вы используете HTTPS, Читать далее

Произвольные типы записей WordPress

Произвольные типы записей позволяют разделить посты не только по категориям, но и по их типу с собственными названиями и рубриками. Это что-то типо инфоблока, как в CMS 1С-Битрикс. По умолчанию в WordPress есть возможность добавлять записи и их рубрики. К Читать далее

Произвольные поля WordPress

Произвольные поля или как их еще называют кастомные или доп. поля в WordPress очень нужная вещь, особенно при создании например сайта-каталога. С помощью доп. полей можно добавить к записям возможность указывать например цену или цвет, а затем выводить сохраненное значение Читать далее

Создание плагина WordPress с нуля

Когда я создавал свой первый плагин, то оказалось, что в сети очень мало информации по этому вопросу. С трудом удалось найти даже основы. Надеюсь эта статья поможет вам научиться писать различные плагины для WordPress. Наверняка вы уже пользовались и знаете, Читать далее

WordPress Ajax

По большей части публикации про применение Ajax в WordPress сложные для понимания, особенно если вы мало знакомы с этой технологией. В этой статье я покажу, как на самом деле просто использовать Ajax в публичной части сайта. Ajax запросы в WordPress Читать далее

WordPress подгрузка постов кнопкой показать еще или бесконечным скроллом

Кнопка "Показать ещё" и бесконечный скроллинг - это по сути постраничная навигация, которая подгружает следующую страницу с постами без перезагрузки страницы. Подобные примеры часто можно встретить в лентах соц. сетей. В этом примере показана реализация кнопки "Показать ещё" и бесконечного Читать далее

9 комментариев на «Как убрать поле сайт и e-mail в комментариях WordPress»

  1. irmaseo:

    очень полезная информация, спасибо

  2. Антон:

    Не работает, падает сайт с таким кодом

  3. Антон:

    На этом сайте так сделано и все работает.

  4. tt:

    кривой совет

  5. Ваня:

    Привет, это тест вашего кода)

  6. Over:

    Наконец-то дельные советы. Спасибо!

  7. Алекс:

    Как вы добавили капчу с буквами, подскажите?

  8. Zoobrain:

    Большое спасибо Вам за эту статью!
    E-mail пока не стал убирать. Интересовало как убрать url, т.к. спамщики задолбали. Сделаю тоже самое на всех остальных своих сайтах.
    Единственное уточнение. В functions.php обычно уже открыт php код и тег «<?" не нужен.

Добавить комментарий