Всем привет!
Как часто вам приходила идея удалить в комментариях поле для ввода адреса сайта и добавить, например, поле для ввода телефона или поле для выбора страны и т.д.?
А как часто вы бросали эту идею, понимая, что для осуществления всего этого нужно влазить в код с комментариями?
Поэтому в этой статье я спешу вам рассказать, что расширить возможности формы для комментариев можно не влезая в код. А это, как вы знаете, большой плюс.
Итак, в этой статье я расскажу, как можно удалить стандартные поля в комментариях вашего блога сделанного на WordPress и добавить другие новые поля.
Начнем с того, что попробуем удалить поле «Сайт»:
Буду использовать фильтр «comment_form_default_fields». Откроем файл «functions.php» и в самом начале кода сразу после символа «<?php» вставляем вот такой код:
// удаляем url в комментариях function true_remove_url_field( $fields ) { unset( $fields['url'] ); return $fields; } add_filter( 'comment_form_default_fields', 'true_remove_url_field');
Результат:
Внимание: если после вставки кода поле «Сайт» не исчезло, значит, у вашей темы стоит своя форма комментариев «comments.php».
Также можно удалить поле для ввода имени и email:
// удаляем поля в комментариях function true_remove_url_field( $fields ) { unset( $fields['author'] ); //удаляем поле для ввода имени unset( $fields['email'] ); //удаляем поле для ввода email unset( $fields['url'] ); //удаляем поле для ввода адреса сайта return $fields; } add_filter( 'comment_form_default_fields', 'true_remove_url_field');
Поскольку поля «Имя» и «e-mail» являются обязательными для заполнения, то после их удаления в случае отправки комментария, вы увидите вот такое сообщение об ошибке:
«ОШИБКА: пожалуйста, заполните необходимые поля (имя, e-mail).»
Чтобы сделать поля «имя, e-mail» необязательными для заполнения, перейдите в админ-панели «Настройки => Обсуждение» и снимите птичку над пунктом «Автор комментария должен указать имя и e-mail»:
Теперь без проблем пользователь сможет отправить комментарий, даже если вы удалите такие важные поля как (имя, e-mail).
А вот так будет отображаться автор комментария:
Выше мы говорили о том, как удалить ненужные поля из формы комментариев. А что, если теперь попробовать добавить новые поля, которые не были предусмотрены в данной форме? Например, попробуем добавить поле телефон и город. Делаем это так:
function true_phone_number_field( $fields ) { $fields['phone'] = '<p class="comment-form-phone"><label for="phone">Телефон</label> <input id="phone" name="phone" ENGINE="text" value="" size="30" /></p>'; $fields['city'] = '<p class="comment-form-city"><label for="city">Город</label> <input id="city" name="city" type="text" value="" size="30" /></p>'; return $fields; } add_filter( 'comment_form_default_fields', 'true_phone_number_field');
Результат:
Сразу скажу, что эта функция мной до конца не доработана. Новые добавленные поля в форме отображаются, но вводимые данные не сохраняются. Возможно, кто-то уже нашел способ сохранять эту информацию и выводить ее в комментариях, тогда буду рад, если поделитесь в комментариях!
Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓
Последние новости категории:
Похожие статьи
Популярные статьи:
-
Как узнать id компьютера
Дата: 29 марта 2013
Прокомментировано:90
просмотров: 330346 -
Размеры форматов листов А0 – А7
Дата: 23 января 2013
Прокомментировано:3
просмотров: 274701 -
Смешные логические загадки с подвохом, отгадки прилагаются
Дата: 12 ноября 2014
Прокомментировано:5
просмотров: 222533 -
Готовые макеты блоков для веб-страниц на HTML и CSS
Дата: 25 июня 2014
Прокомментировано:23
просмотров: 187740 -
Установка windows 7 на ноутбук
Дата: 18 декабря 2012
Прокомментировано:169
просмотров: 186564
Добавить комментарий
Метки: wordpress, без плагинов
Спасибо, Александр за комментарий. Планирую еще пару постов для WooCommerce…
⇒ Открыть статью ⇐