Удаляем поля ‘e-mail’ и ‘сайт’ в комментариях
Всем привет! Заметил недавно, что количество комментариев на сайте не увеличивается, несмотря на рост посетителей. Решил протестировать – работает ли механизм. Зашел на сайт под не авторизованной учетной записью и попробовал оставить комментарий: как же это было не удобно! Обязательное для заполнения поле ‘e-mail’ – вот что тормозило на мой взгляд пользователей при добавлении простого комментария.
Сперва было решено удалить поля ‘e-mail’ и ‘Веб сайт’ с формы нового комментария:
Итак, для того что бы это сделать, необходимо в файле ‘functions.php‘ (у меня это каталог: ‘XКаталогСайтаX/wp-content/themes/papercuts/‘) вашей темы, добавить следующие строчки кода – в самый конец файле перед закрывающим тегом ‘?>’:
1 2 3 4 5 6 7 8 9 |
/*craft1c*/ /*В комментариях удаляем поле Сайт и E-mail*/ function remove_comment_fields($fields) { unset($fields['url']); unset($fields['email']); return $fields; } add_filter('comment_form_default_fields', 'remove_comment_fields'); /*craft1c*/ |
После чего в администраторской панели в настройках ‘Настройки/Обсуждение’ необходимо снять флаг ‘Автор комментария должен указать имя и e-mail’, что бы при скрытом поле ‘e-mail’ не появлялась ошибка обязательного заполнения данного поля:
Но теперь если пользователь не заполнит имя в форме комментария, то автоматически в ответ система подставит имя ‘Аноним’. Поэтому решено было сделать обязательным для заполнения это поле. Делается это все в том же файле ‘functions.php’:
1 2 3 4 5 6 7 8 |
/*craft1c*/ /*В комментариях обязательно заполнение имени*/ 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' ); /*craft1c*/ |
Отлично, мы добились чего хотели. Но я все-таки подумал и решил, оставить поле ’email’, для возможности подписки пользователя на ветку комментария. Но оставить это поле не обязательным к заполнению. Для этого я просто закомментировал одну строчку из выше написанного кода:
1 2 3 4 5 6 7 8 9 |
/*craft1c*/ /*В комментариях удаляем поле Сайт*/ function remove_comment_fields($fields) { unset($fields['url']); /*unset($fields['email']);*/ return $fields; } add_filter('comment_form_default_fields', 'remove_comment_fields'); /*craft1c*/ |
Теперь что бы оставить комментарий на этом сайта, необходимо только указать имя пользователя. А также при желании заполнить поле ’email’:
Надеюсь заметка была простой и понятно! Всем Удачи! Пока!
Приветствую! Мне кажется, надо поменять цветность шрифтов. Трудно разглядеть некоторые
Возможно, я еще работаю над этим)