Как удалить поле Сайт/URL и E-mail в форме комментариев WordPress

Как удалить поле Сайт и E-mail в форме комментариев WordPressЗдравствуйте, дорогие читатели blogibiznes.ru! В этой статье я покажу, как удалить поле Сайт и E-mail в стандартной форме комментариев блога на WordPress. Если вы спросите «Зачем?», значит вам это не особо надо. А кто ищет ответ на вопрос из заголовка, тот ясно понимает, что иногда скрытие этих полей бывает полезным для продвижения сайта. Попутно, раз уж мы будем редактировать форму комментирования, уберем строку «Можно использовать следующие HTML-теги и атрибуты», которая встречается в некоторых шаблонах Вордпресс под полем «Комментарий».

Зачем скрывать поля ввода URL и E-mail и кому это надо?

Зачем: борьба со спамом, уменьшение количества исходящих ссылок и упрощение комментирования.

Кому надо: владельцам новостных и информационных проектов, сайтов компаний и интернет-магазинов. То есть тем, чьи посетители далеки от сайтостроения, а иногда и от интернета :-) . Чем меньше данных надо заполнять в форме комментариев, тем активней их будут оставлять. Часто даже ввод E-mail будет лишним, так как люди не хотят лишний раз оставлять свои данные.

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

  • владельцы блогов получают бесплатный контент, улучшение поведенческих факторов и, наконец, общение с читателями;
  • комментаторы — наращивание ссылочной массы и переходы на свои сайты, если оставили по настоящему интересный отзыв.

Тут есть и обратная сторона: увеличение количества внешних ссылок, пусть даже в nofollow, мешает продвижению сайта и не нравится ПС, особенно Google. Причем, когда на сайт комментатора идет несколько ссылок с одинаковым анкором с одной и той же страницы, то для поисковиков это тем более выглядит спамно.

Совет для комментаторов: если в процессе общения приходится оставить несколько комментариев на одной странице, заполняйте поле URL только в первом из них. Таким образом, у автора блога будет меньше внешних ссылок, а ваш бэклинк получит, насколько это возможно, максимальный вес.

 

Убираем поле Сайт (URL) и E-mail в форме комментариев WordPress

Зачем это надо вроде разобрались, теперь узнаем, как это сделать. Для примера возьмем тему Вордпресс Twenty Ten. Стандартная форма комментариев выглядит так:

Стандартная форма комментариев WordPress

Теперь по порядку отключим поля Сайт, E-mail и удалим лишний текст, как показано на скриншоте выше.

Отключаем поле Сайт

Скрыть поле Сайт или, в некоторых шаблонах, URL, можно двумя способами:

  1. с помощью плагинов (для новичков и ленивых);
  2. с помощью PHP-кода.

С помощью WP-плагинов

Можно использовать плагины disable-hide-comment-url или Hide-n-Disable-comment-url-field. На данный момент оба рабочие, но я советую второй, так как первый давно не обновлялся.

Устанавливаем любой из плагинов стандартным способом и активируем, никаких настроек не требуется. Поле Сайт больше не потревожит посетителей.

С помощью PHP-кода

Тут тоже есть два способа:

  1. редактирование файла comment-template.php из папки WordPress wp-includes;
  2. изменение файла functions.php текущей темы.

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

Внимание! Перед внесением изменений сделайте резервную копию файла functions.php.

Скачиваем файл с хостинга по адресу /wp-content/themes/twentyten/functions.php и открываем в любом текстовом редакторе, например, Notepad++. В вашем случае выбирайте папку со своей темой. Можно редактировать прямо из админки блога, тогда заходим в меню “Внешний вид” – “Редактор” и справа выбираем файл functions.php.

Чтобы удалить поле ввода Сайт в форме комментариев, добавляем в конец открытого файла этот код:

function remove_comment_fields($fields) {
unset($fields['url']);
return $fields;
}
add_filter('comment_form_default_fields', 'remove_comment_fields');

Сохраняем изменения и заливаем файл с заменой обратно на хостинг. В результате поле Сайт будет удалено.

Удаляем поле E-mail

Делаем все то же самое, только дописываем в указанный выше код дополнительно такую строку: unset($fields['email']);

Получим:

function remove_comment_fields($fields) {
unset($fields['url']);
unset($fields['email']);
return $fields;
}
add_filter('comment_form_default_fields', 'remove_comment_fields');

Поле для ввода электронной почты исчезнет. Пробуем отправить комментарий — появляется ошибка.

Не заполнены необходимые поля (Имя и E-mail)

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

Настройки обсуждения

Проверяем — работает. Однако теперь возникает ситуация, когда можно оставлять комментарии, не вводя Имя. Вместо него будет надпись Аноним. Если вас это не беспокоит, то можно на этом остановиться.

Можно оставлять комментарий анонимно

Чтобы сделать обязательным заполнение Имени, даже при отключении соответствующей галочки, добавляем еще один кусочек кода:

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' );

Теперь при попытке оставить анонимный комментарий будет выводиться предупреждение:

Чтобы оставить комментарий, надо обязательно заполнить поле Имя

Удаляем строку «Можно использовать следующие HTML-теги и атрибуты…»

Такой текст присутствует не во всех темах WordPress, но если у вас есть, то лучше его убрать. Почему, ведь так посетители могут оставлять в комментах ссылки, цитаты, коды, выделять ключевые слова жирным и т.д.? А оно вам надо? К тому же, этот блок текста не эстетичен и дублируется на всех страницах сайта (не только вашего), снижая их уникальность. Поэтому смело удаляем, прописав в functions.php следующий код:

function mytheme_init() {
add_filter('comment_form_defaults','mytheme_comments_form_defaults');
}
add_action('after_setup_theme','mytheme_init');
function mytheme_comments_form_defaults($default) {
unset($default['comment_notes_after']);
return $default;
}

После всех наших трудов получаем такую форму комментариев на блоге:

Форма комментариев без полей Сайт и E-mail

Если удалили поле E-mail, то не забудьте убрать надписи с этим связанные. Например, «Ваш e-mail не будет опубликован», как на картинке выше. Для этого в корне сайта в папке wp-includes в файле comment-template.php найдите текст «Your email address will not be published» и удалите его. В случае с темой twentyten это работает.  В других шаблонах может быть придется делать иначе. Только не забудьте сделать копии редактируемых файлов на всякий случай.

Теперь в файле functions.php все изменения будут выглядеть так:

Убираем лишние поля ввода и текст в форме комментариев WordPress

Советую убрать поле Сайт в форме комментариев WordPress сразу при создании блога. Если, конечно, вам это нужно. Иначе, новых ссылок больше не будет, а старые никуда не денутся и их все равно придется удалять. Но об этом как-нибудь в другой раз.

Так как эти процедуры приходится иногда повторять при смене шаблона или создании нового сайта, то решил сделать себе такую шпаргалку. Надеюсь, пригодится и вам. Можете сохранить страничку в Закладки (Ctrl+D).


Понравилась статья? Нажимай на кнопки:

Хостинг от Макхост

Ответов 58 на “Как удалить поле Сайт/URL и E-mail в форме комментариев WordPress”

  1. А что, эта информация может пригодиться! Если это, конечно, понадобится.

    • Я на контентных проектах под контекст, где автор обезличен, убираю поле сайт. Если это личный блог, то не стоит.

  2. Как все подробно объяснено, просто по полочкам разложено. Даже жалко стало, что мне в блоге нужны и адреса и почтовые ящики.

    • Это да, но вдруг надо будет сайт для какой-то организации делать или интернет-магазин, будете знать куда идти :-) .

  3. Даже не знаю что и сказать! А ведь есть такие блогеры, которые именно из-за этого и посещают сайты остальных! Кстати, давно заметил во многих блогах отсутствие этих строк, что даже удивляло! Что интересное Олег, со временем я все больше и больше удивляюсь тому, что в стартапе нам одно говорили, а потом дальше ты понимаешь, что многое из выученного совсем не то. Кому и чему верить то?! Учту на будущее ваши советы!

  4. Кстати да, совсем недавно задумался о наличии этих тегов перед полем комменты. Мне кажется, что те, кто разбираются в тегах, итак их знают, а те кто их не использует, вряд ли воспользуется этой подсказкой. Вообще не встречал блогов, на которых хоть раз кто-то бы использовал эти теги. Для форумов да, для блогов нет точно. На счет поля сайт и мыла, наверное стоит, в моем случае скорее да, чем нет.

  5. Александр Ризун Ответить 25 Июнь, 2014 в 1:11

    Блоггерам, конечно, не стоит убирать поля сайт, емайл и имя. А тэги однозначно лишние. Ни разу сам не воспользовался ими на других блогах, и другие, думаю, так же. И вид они портят.
    Блог должен выглядеть во всех местах красиво и уникально! :)

  6. Знания – сила, спасибо Олег, как обычно сохраню статью в закладки, пригодится полезная информация, как удалять поля сайт и емэйл. Да эти строчки про теги у некоторых до сих пор есть, а для чего – только вид портят, никто ведь не пользуется.

  7. Добрый день, спасибо за информативную статью.
    Анонимные пользователи комментируют без проблем, а авторизованным вылезает:
    Ошибка! Пожалуйста, заполните поле Имя.

    Как исправить?

    • Вот тут не подскажу, так как никогда не использую регистрацию для посетителей на своих сайтах. Видимо, должно быть отдельное правило для авторизованных пользователей. С другой стороны, они уже и так свой e-mail оставили, зачем тогда удалять это поле, пусть будет.

  8. Олег, добрый день.
    Хотел спросить, мне хочется удалить допустим эту страницу tkalexs.ru/author/admin, зачем она нужна для индексации.

    Что скажете об этом? Просто мог бы и сам всё молча поэкспериментировать, но говорят одна голова хорошо, а две лучше.

    • Не нужна. Установите галочку в плагине SEO все в одном, чтобы не индексировались архивы. Яндекс может это проигнорировать, поэтому для него дополнительно в robots.txt добавьте все правила, что уже есть плюс запрет для author:

      User-agent: Yandex
      Disallow: /author/

      Ну и удалите ссылку на архив автора со всех страниц сайта.

  9. Олег вот здесь, я что то недопонимаю: “удалите ссылку на архив автора со всех страниц сайта”.

    • Посмотрите под заголовком любой статьи рядом с датой – Автор: Али Ткалехс, где имя является ссылкой и ведет на страницу архива. Кстати, так можно посмотреть логин для входа в админку, так что надо удалить эту ссылку со всех страниц или сделать ее не активной.

  10. А как сделать с точностью да наоборот, чтобы сделать обязательным заполнение Имени.
    Например, если я под админом зашел, чтобы проверки не было, а если простой пользователь, то проверка была.

  11. Использовала вашу функцию для удаления формы для сайтов и почему-то в форме WordPress последние комментарии удалился этот заголовок, а мне это также как раз нужно было. Спасибо!

  12. Автор, а где описание первого способа “редактирование файла comment-template.php”? Забыли?

    • Нет не забыл, просто считаю этот метод не удобным. Чтобы не повторять редактирование каждый раз при обновлении движка, рассмотрел то, что проще и эффективнее. Или мы не ищем легких путей?

  13. Это как раз то что мне надо, интересно почему ты не убрал лишние поля на своем сайте?

  14. Лишние поля убрать получилось, но когда захожу в админку, поле имя пропадает, и комментарий написать не могу, пишет, что нужно ввести имя. Есть решение данной проблемы?

    • С админкой проблем не было, поэтому тут не подскажу, в каждом шаблоне все индивидуально.

  15. Автору спасибо.

  16. Спасибо, очень помогло!

  17. Спасибо! Полезная информация!

  18. Не помогло почему-то.

  19. Подскажите, пожалуйста, какой код нужно вставить в файл functions.php, чтобы удалить вывод даты комментариев. Спасибо.

  20. Отлично! С помощью ваших советов без труда удалил форму добавления e-mail в комментариях, теперь посмотрим насколько активно будут оставлять сообщения посетители моего сайта.

  21. Инфа очень помогла – без всяких трудностей упростил систему комментирования на нужном сайте. Спасибо.

  22. Спасибо! На своем сайте убрал поле с сайтом в комментариях с помощью вставки вашего кода в файл с функциями.

  23. Хорошая статья) Но больше я люблю пользоваться коментами вк, т.к. их сложнее накрутить, и такая форма вызывает больше доверия у читателей. Хотя я могу ошибаться))

    • В комментариях Вконтакте часто спамят с помощью ботов, так что тут нет преимуществ. Родные комментарии попадают в индекс вместе с текстом статьи и тут стоит следить за релевантностью обсуждений, чтобы не размыть тематику поста.

  24. Я считаю, что отсутствие этих полей оттолкнет некоторых пользователей, которые специально пишут для наращивания ссылочной массы интересные и длинные комментарии. Гораздо лучше заключить ссылки в комментах в noindex и nofollow. Комментарии в контакте мне не нравятся. Есть еще много людей, кто там не зарегистрирован. Я в том числе.

    • Я в начале статьи сделал акцент, кому это надо и кому не надо. Nofollow не спасает от потери веса, тогда уж лучше вывести ссылку через span.

  25. Если бы Nofollow не спасали от потери веса, то тогда никто бы не закрывал ссылки в комментариях от индексации. Все бы тогда просто сидели на Dofollow блогах и сайтах и не заморачивались.

    • Смысл Nofollow – показать поисковику, что ссылка не продажная, то есть не seo-ссылка. А также, если акцептор не представляет собой качественный ресурс, но в контексте статьи уместна активная ссылка на него, то чтобы не передавать ему свой авторитет, ставят nofollow. Это спасает от фильтров ПС.

  26. Надежда Хачатурова Ответить 09 Сен, 2016 в 21:13

    Олег, приветствую! Спасибо! Воспользовалась подсказкой. Столько накопилось ссылок за годы, что пришла пора задуматься, как убрать поле “сайт”. Сама давно уже не ставлю больше одного раза на домен, а людям не нравится, чтобы поле пустым было, раз оно есть. ))

  27. Надежда Хачатурова Ответить 13 Сен, 2016 в 13:01

    Олег, а мне особенно приятно, что наши люди в ТОПе. Не ошибешься, что на вопрос будет конкретный четкий ответ. В техническом плане я же тормоз. Могу скопировать и вставить; ссылку, подцепленную при копировании, тоже могу удалить. )) Жаль, что не по всем проблемам, которые встречаются, статьи написаны. Но, думаю, еще все впереди.

    • О я в ТОПе, даже не слежу за этим, но приятно.
      Да как-то не могу себя настроить на рабочий лад, совсем забыл о блоге)

  28. Надежда Хачатурова Ответить 13 Сен, 2016 в 13:43

    Так это издержки пахарей. )) Все, больше не мешаю. Не могла удержаться, чтобы не отметиться.

  29. Спасибо. Для начинающих – самое то, что нужно. Всё изложено, как говорится, с толком, чувством и расстановкой. Автору большой респект и уважуха!)))

  30. Спасибо автору за подсказку. Всё работает

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

  32. Я удалил прямо с файла theme-comments.php нужно ли потом в functions.php эти коды ставить?

  33. У меня теперь, когда авторизованный пользователь пытается оставить коммент, выскакивает введите “Имя”, а коммент не оставляется.

  34. Спасибо. Пригодилось.

  35. Очень хорошая статья!

  36. Спасибо автору, статья очень помогла. На одном своём сайте, я уже испытал. Сейчас буду на другом ставить эксперименты.

  37. Если следовать инструкции то на все уходят считанные минуты. Спасибо за полезную и четкую инструкцию.

  38. Полезная информация, просто и с кодом, благодарю! Я, правда, решил всё-таки comment-template.php подредактировать.

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