Вы здесь: Главная » Wordpress » Изменение полей формы комментариев в WordPress

Изменение полей формы комментариев в WordPress

Стандартная форма комментариев WordPress подразумевает вывод полей имя пользователя, его email и url его сайта, а также большое поле для самого комментария. Все поля снабжены метками, в которых указано название поля.

Стандартная форма комментариев WordPress в теме Twenty twenty на странице выглядит так:

Стандартная форма для комментария в теме Twenty twenty

Эта форма выводится стандартной функцией comment_form() и при формировании страницы имеет такую html-разметку:

Как вы можете видеть, все поля (теги <input>), кроме кнопки отправки (submit), снабжены метками (тег <label>) и размещены в абзацах (<p>), для того, чтобы в форме были отступы и переносы строк, т.к. все элементы формы по умолчанию являются строчными (inline) и размещаются рядом друг с другом в одну линию.

Однако дизайн вашего сайта может подразумевать несколько иное расположение полей, а также отсутствие меток. Вместо этого мы будем выводить текст для заполнения полей внутри них самих с помощью атрибута placeholder. Используем для этого фильтры формы комментариев и перезапишем аргументы функции comment_form().

Данный код желательно записывать в файле, отвечающем за вывод комментариев - comments.php. Это стандартный файл темы, который добавляется в структуру файлов, например, при использовании сервиса Underscores.me для создания заготовки вашей темы. Либо вы создаете его самостоятельно в соответствии с кодексом WordPress.

Стоит добавить некоторое количество css-стилей и вы получите примерно такую форму комментариев:

Wordpressформа для комментариев

Стили CSS:

Иконки для оформления полей вы можете скачать с сайта flaticon.com, подобрав тот внешний вид, который вам нужен. Имеет смысл сохранять их в формате SVG, т.к. потом можно добавить ту заливку/обводку, которая нужна вам, просто отредактировав код в файле SVG в вашем любимом текстовом редакторе.

Автор: Админ

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *