Перестановка полей в форме комментариев WordPress
Недавно совершенно случайно узнал, что начиная с новой версии WordPress 4.4 разработчики переместили поле комментариев в начало формы. Теперь там в самом верху находится большой блок (textarea) для размещения коммента пользователя, а уже после него идут «Имя автора», «E-mail» и «Ссылка на сайт».
Изменения будут заметны для веб-проектов, где соответствующая форма реализована через стандартную функцию системы comment_form. Если данный элемент страницы выводится с помощью HTML кода в файле comments.php, то ничего нового вы не увидите. Как бы там ни было, сегодня рассмотрим хаки позволяющие изменить порядок полей в форме комментариев WordPress.
Первым делом хочу сказать пару слов о том зачем разработчиками была сделана данная модификация. Все дело в небольшом «косяке» при использовании древовидных комментариев, когда люди могут отвечать на записи друг друга. После нажатия кнопки «Ответить» пользователь перенаправляется в начало поля для ввода текста комментария. Если он посещает сайт на стационарном компьютере, то наверняка выше увидит наличие обязательных полей «Имя» / «E-mail», но на смартфоне их можно не заметить.
Часто люди пишут текст комментария и сразу же хотят его опубликовать, а без заполнения всех требуемых полей возникнет ошибка. В принципе, по факту, это не глюк системы, а просто небольшой нюанс в юзабилити, который может негативно повлиять на впечатление от сайта. Поэтому создатели WordPress и решили изменить порядок полей в форме, дабы после ввода комментария, пользователь заполнял все данные о себе и лишь потом доходил до кнопки отправки.
Размещаем поле комментариев внизу формы
С другой стороны некоторые владельцы сайтов сетуют на то, что их аудитория уже привыкла к определенному расположению полей, и подобные нововведения их дезориентируют. Если вы считаете также, то ниже найдете хак, позволяющий вернуть форму к прежнему виду.
Код добавляете в файл функций functions.php либо через модуль Code Snippets или свой плагин.
function bottom_commentfield( $fields ) { $comment_field = $fields['comment']; unset( $fields['comment'] ); $fields['comment'] = $comment_field; return $fields; } add_filter( 'comment_form_fields', 'bottom_commentfield' ); |
После использования сниппета варианты «до» и «после» для формы комментариев на скриншоте выше поменяются местами. Что же касается самого кода, то здесь логика работы простая:
- сначала сохраняем в переменную $comment_field содержимое поля комментариев;
- затем удаляем поле с помощью функции unset;
- присваиваем новому полю комментариев значение переменной из первого шага.
- фильтр comment_form_fields выполняет нашу функцию перед выводом формы.
Перестановка любых полей в форме
Рассмотренный выше прием вы можете применить для изменения порядка вообще всех полей в форме комментариев WordPress. Алгоритм аналогичный — сначала записываем значения полей в переменные, потом удаляем их и заново в нужном порядке добавляем в форму.
Сниппет вставляете в functions.php или через модуль.
function all_commentfields( $fields ) { //var_dump($fields); // просмотр всех полей в переменной $fields // сохраняем значение всех полей формы $mycomment_field = $fields['comment']; $myauthor_field = $fields['author']; $myemail_field = $fields['email']; $myurl_field = $fields['url']; unset( $fields['comment'], $fields['author'], $fields['email'], $fields['url'] ); // заново добавляем поля в форму в нужном порядке $fields['url'] = $myurl_field; $fields['comment'] = $mycomment_field; $fields['author'] = $myauthor_field; $fields['email'] = $myemail_field; return $fields; } add_filter( 'comment_form_fields', 'all_commentfields' ); |
Сохраняете и проверяете вывод / работу формы на сайте. В принципе, ничего сложного нет. Если будут какие-то замечания или дополнения по теме перестановки полей, пишите в комментариях.
P.S. Дополнительные WP модули позволяют расширить функциональность вашего веб-проекта. Магазин WordPress плагинов содержит парочку интересных решений для: внедрения разных калькуляторов на сайте, управления рекламой и ссылками.
комментариев 14 к статье “Перестановка полей в форме комментариев WordPress”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Як сховати відсутні товари в Woocommerce шорткодах та схожих товарах
- Сервіс AdMaven + плагін для монетизації трафіка на WordPress сайтах
- Плагіни для створення стрічки новин з біжучим рядком в WordPress
- Як змінити розміщення кнопки оформлення замовлення в WooCommerce
- Плагін WHWS Display In Stock Products First – відображення товарів в наявності першими
- Підписка MonsterONE: чи варто використовувати цей сервіс у 2023 році? (+5 продуктів, які треба скачати в першу чергу)
- Онлайн генератор ссылок на мессенджеры для WordPress и не только
- WooCommerce (46)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (246)
- Сервисы (87)
- Хаки и секреты (87)
- Шаблоны (45)
- Оптимизируем WordPress header и удаляем лишний код (5,19 из 7, голосов - 43)
- Как создать пункт меню без ссылки в wordpress (6,39 из 7, голосов - 23)
- Добавление кнопки Вконтакте, Facebook и Twitter в wordpress блог (6,14 из 7, голосов - 21)
- Выполнение jQuery скриптов при выборе вариаций товаров в WooCommerce (3,96 из 7, голосов - 26)
- Хаки для вариаций товаров в WooCommerce (5,00 из 7, голосов - 20)
- Вывод текста в блоге только на главной (6,85 из 7, голосов - 13)
- Как убрать category в WordPress категориях — зачем это делать, плагины для реализации (5,31 из 7, голосов - 16)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Советы по выбору холодильника LG с технологией No Frost
- Зачем нужны Wi-Fi ретрансляторы и как выбрать подходящую модель
- Введение в онлайн-казино Slotor777: многообразие игр и привлекательные бонусы
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS
Действительно Вы правы… а я заметил что что-то изменилось, но только сейчас заметил разницу. Можно поинтересоваться как у Вас реализовано красивая вставка кода на страницу. С помощью плагина или кодом? Я пробовал несколько плагинов, но как-то коряво работают.
Дмитрий, это плагин WP-Syntax, тоже пробовал несколько подсветок кода, с этим уже лет 5 работаю.
у меня тоже стоит WP-Syntax, но замечен глюк, если после вставки кода (не сохраняюсь) переходите в визуальный редактор, то появляются лишние символы. Это хорошо когда статья готова и всего один кусок кода надо вставить, а если много частей кода в разных местах текста то засада какая-то…
Дмитрий, после вставки кода нельзя переходить в визуальный редактор, а нужно сохранять только в HTML режиме. С редактированием постов — такая же история. Когда нужно вставить несколько блоков кода, то действительно не особо удобно, но другого выхода нет.
Вообще не замечал, что поля в форме поменялись местами) Однако логика разработчиков вполне понятна. Надо будет глянуть как вообще выглядит мобильная версия моего блога)
Спасибо за статью. Очень помогло.
Привет, за статью спасибо. Я даже не заметил данных изменений.
Но хочу высказаться по поводу вставки кода, коли в комментариях пошла речь о нем, у меня например есть косяк с данным плагином, даже на вашем сайте.
При скроле получается просто какая абракадабра + какие-то артефакты ))
https://image.prntscr.com/image/7USvG36bSb_lnveBsdSdaQ.png – Ссылка на скриншот с вашего сайта, как у меня отображается код на вашем сайте.
Для сведения:
Браузер: Google Chrome Версия 60.0.3112.113 (Официальная сборка), (64 бит)
OC: Mac OS High Sierra
Алексей, спасибо за замечание, там по нормальному вместо темных полос должны быть светло серые (типа для удобства читания кода). У вас в браузере случайно не установлены модули переорпеделения стилей?
Нет, модулей не стоит дополнительных.
Проверил в других браузерах, проблема не наблюдается. Может быть это и правда только у меня такая проблема в хроме.
Алексей, может это какой-то локальный глюк только с этой версией хрома. Ну, там вместо темный полос должны быть просто светло серые, косяк в стилях. Как автор модуля обновит его, переустановлю.
Если честно, я так и не понял, зачем и для чего эти поля надо переставлять! Объясните мне, пожалуйста, «чайнику» более понятно и доходчиво!)
Леонид, в статье сказано зачем это сделали разработчики системы. А что касается приведенных хаков/кодов, то они позволяет все вернуть к начальному виду, если кому-то он кажется более логичным или привычным. Это делать вовсе не обязательно.
Здравствуйте. Подскажите, как в теме Jarida сам блок комментариев переместить сразу под текст, или в любую область поста Благодарю
Ivan, смотрите файл шаблона single.php или подобный ему — нужно понять где именно вызывается функция или файл с шаблоном comments. Для разных тем это могут быть разные места вывода, поэтому нет какого-то универстального совета, кроме как «смотреть код» для понимания логики работа темы.