Flector

Как «упростить» форму добавления комментариев?

Упрощенная форма комментирования

С целью повышения количества комментариев можно "упростить" форму добавления комментариев, вырезав из нее все лишние детали, которые обычно смущают посетителей. По сути, после такого упрощения комментаторам нужно будет заполнить только одно единственное поле "Комментарий" без необходимости указывать свой email-адрес и свое имя (по умолчанию используется имя "Гость"). Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

//комментирование без ввода имени и имейла start
function wph_comments_for_guests($fields){
    $fields['author'] = '<p class="comment-form-author"><label for="author">' . __('Name') . '</label> ' .
    '<input id="author" name="author" type="text" value="Гость" size="20" /></p>';
    $fields['url'] = '';
    $fields['email'] = '';
    return $fields;
}
add_filter('comment_form_default_fields', 'wph_comments_for_guests', 999);
//комментирование без ввода имени и имейла end
 
//удаление текста про необходимые поля и HTML-теги start 
function wph_comments_form($default) {
    $default['comment_notes_before'] = '';
    $default['comment_notes_after'] = '';
    return $default;
} 
add_filter('comment_form_defaults', 'wph_comments_form', 999);
//удаление текста про необходимые поля и HTML-теги end
 
//email по умолчанию для добавляемых комментариев start
function wph_custom_comment_email() {
    if(empty($_POST['email'])) $_POST['email'] = 'guest@site.ru';
}
add_action('pre_comment_on_post', 'wph_custom_comment_email');
//email по умолчанию для добавляемых комментариев end

В качестве email по умолчанию используется 'guest@site.ru'. Поменяйте этот email на нужный вам (например, чтобы привязать к этому имейлу устраивающий вас граватар). Почему данный сниппет лучше, чем банальное снятие галки с опции "Автор комментария должен указать имя и e-mail" в "Настройках\Обсуждение"? Тем, что лишние поля вообще удаляются из формы и не смущают потенциальных комментаторов своим наличием. Данный сниппет увеличит количество добавляемых комментариев примерно на 10-30%, но при этом вам придется мириться с недостатками вроде невозможности подписки на комментарии и одинаковыми граватарами у всех комментаторов. Что лучше - решайте сами.


Комментарии (10 комментариев)
  1. Лучше напишите статью о том, как нагнать комментаторов)

    • Flector:

      seo-оптимизация это не ко мне :)

      • Влада:

        Уважаемый Flector, а какой вы используете плагин для "Уведомить меня о новых комментариях через email."
        Спасибо!

  2. Golem:

    Очень опасная затея. У всех комментаторов будет 1 почта, и поисковики подумают, что сайт набит спамом. Статья должна называться так: как быстро загнать сайт под санкции с помощью комментариев ))))

    • Flector:

      и как по вашему поисковики это узнают?

      • Golem:

        в коде все это будет видно

        • Flector:

          в коде email не публикуется.

  3. Мот:

    отличный код, только как оставить обязательный ввод имени?

  4. Павел:

    Да. Хороший вопрос. Я бы тоже хотел узнать это.

    • Flector:

      ну вы как маленькие:

      1
      2
      
      $fields['author'] = '<p class="comment-form-author"><label for="author">' . __('Name') . '</label> ' .
          '<input required="required" id="author" name="author" type="text" value="Гость" size="20" /></p>';
Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!