Що якщо вам потрібна реєстраційна форма для користувачів, яка базується на певному критерії вибору? Або вам потрібна форма для того, щоб ваші користувачі публікували свій контент у вас на сайті прямо через основний інтерфейс без отримання доступу до адмін. панелі? За допомогою гравітаційні форми ви можете вирішити всі згадані завдання, при цьому, крім рішень "з коробки", ви можете створювати власні рішення на основі кастомного коду та фільтрів.
Дивіться також:
Перш ніж ми перейдемо до обговорення того, як гравітаційні форми допоможуть вам розширити функціональність WordPress, варто згадати, що це плагін платний. Для отримання всіх "фішок", про які йтиметься в цьому пості, доведеться придбати бізнес-ліцензію, але для початку я рекомендував би вам все-таки ліцензію розробника, тому що вона дає доступ до настроювання кастомного коду і додавання власних рішень. Отже, почнемо.
Опис | демо | Купити
Розширюємо реєстраційні можливості користувачів
Додаткові поля до реєстраційної форми на сайті можна додати шляхом внесення коду у файл functions.php, однак ви можете суттєво заощадити сили та час, надавши плагіну гравітаційні форми виконати усю цю роботу за вас.
Створення нових користувачів і призначення їм ролей за допомогою Gravity Forms - процес нескладний: ви створюєте форму, приводите поля своєї форми у відповідність до полями у формі WordPress за умовчанням, призначаєте ролі та дії після додавання через форму для кожного нового користувача. Для однієї й тієї форми можна призначити кілька " реєстраційних " правил.
Один і прикладів практичного використання Gravity Forms під час реєстрації користувачів на сайті – це реєстрація за певними умовами. Наприклад, ви можете створити сайт, де учасниками спільноти зможуть стати лише ті, у кого електронні адреси під час реєстрації закінчуються на "@ Gmail.com"І"@yandex.ruДля цього ви створюєте реєстраційні поля, які створюють та реєструють нових користувачів виключно в тому випадку, якщо виконується обраний критерій. Всім іншим буде відмовлено у реєстрації.
Дотримуючись критерію виконання певних умов, ви зможете не тільки реєструвати тих чи інших користувачів на сайті, але й створювати поля з певними умовами практично будь-яких форм. Наприклад, якщо ви хочете додатково показувати певні поля певній віковій групі нових користувачів, ви можете увімкнути або вимкнути додаткові поля на основі раніше вказаних даних при реєстрації.
Користування Gravity Forms для додавання контенту через Front-End сайту
Якщо ви хочете гнучко налаштувати інтерфейсних для користувачів, то за допомогою Gravity Forms можна дозволити додавання нового контенту у вигляді постів прямо на сайт, оминаючи адмін. панель. Все, що для цього знадобиться — створення форми з полем для додавання довгого текстового посту. У такому полі буде заголовок посту, основний контент, цитати для вступного блоку, додавання картинок, категорій та тегів і так далі. Для вставки зібраного від користувача контенту в налаштовуване поле, використовуйте такі настройки:
Якщо ваше довільне поле не відображається у випадаючому меню, поверніться до постів, і створіть "чернетку", що включає контент в полі, що настроюється, і збережіть цю "чернетку". Потім знову поверніться до Gravity Form і перевірте ще раз результат.
Коли цей плагін використовується у зв'язці з плагіном Gravity Forms + Custom Post Types, отримана комбінація працює ще краще, дозволяючи відображати дані з форм у типах постів, що настроюються. Якщо вас турбує перспектива встановлення занадто великої кількості різних плагінів, ви завжди можете додати підтримку вручну, налаштувавши Gravity Forms через код файлу functions.php.
Трохи про код, що настроюється, і фільтри
гравітаційні форми поставляється із певним пакетом документації. Є ряд прийомів роботи з кодом та фільтрами, які можна використовувати, і найкраще в них – той факт, що ви можете призначити ці фільтри для індивідуальних форм. Припустимо, що ви вирішили дозволити додавання постів на сайт будь-кому, але бажаєте контролювати довжину заголовка. Для цієї мети створюєте логічне правило, що базується на довжині рядка, що вводиться. Ось як це робиться:
add_filter( 'gform_validation_7', 'title_size' ); function title_size( $validation_result ) { $form = $validation_result["form"]; // assuming we don't want input_3 to be longer than 75 characters. if ( strlen( $_POST['input_3'] ) > 75 ) { // set the form validation to false $validation_result["is_valid"] = false; // find field with ID we're looking for and marking it as failed validation foreach ( $form["fields"] as &$field ) { // replace 3 with the field id number you're validating if ( $field["id"] == "3" ) { $field["failed_validation"] = true; $field["validation_message"] = "Title is too long."; break; } } } // change object back to the result $validation_result["form"] = $form; return $validation_result; } ?>
Перша частина коду використовує фільтр для підтвердження даних гравітаційні форми та створює функцію, яка тестує довжину поля у запиті. Зверніть увагу на цифри 7 и 3 у цьому прикладі. 7 визначає значення ID форми, а 3 визначає значення конкретного ID форми введення, що ми перевіряємо.
Документація до Gravity Forms включає перелік варіантів коду і фільтрів, що настроюються, а також деталізовані приклади їх використання на практиці на той випадок, якщо ви хочете побачити, в якій ситуації використовувати той чи інший фільтр.
Висновок
Якщо ви шукаєте рішення для форм, що працює "з коробки", яке не просто відправляє автоматичні електронні листи, а вміє ще щось, то в цьому випадку зусилля і час вам допоможе заощадити преміум-плагін гравітаційні формиможливості якого практично нічим не обмежені. З іншого боку, питання ціни Gravity Forms: комусь цей плагін може здатися трохи дорогим, але за його налаштування та переваги у роботі з формами ціну можна "вибачити".
Коментарі до запису: 9
Класна форма, тільки дуже ненажерлива
А чи не підкажіть як вивести превью зображення з посиланням на повне зображення?
Не можу зрозуміти як вичепити посилання на нього.
Добрий день, припустимо, є сайт великого торгового центру, чи можна організувати систему, за допомогою якої користувачі зможуть публікувати інформацію про свої магазини на території ТЦ? Тобто. система ніби як на 2гісі: заповнюєш форму з назвою, графіком роботи, описом і т.д., ці дані формують пост, який публікується після модерації. Цей плагін потягне таке? Дякую.
Добрий день. Цей плагін трохи для іншого призначений. Вам потрібно дозволити гостям додавати через певну форму нові кастомні пости, а не просто збирати дані контактної форми. Для цього є інші рішення, наприклад:
https://hostenko.com/wpcafe/tutorials/kak-razreshit-gostyam-dobavlyat-novyie-zapisi-3-sposoba/
https://hostenko.com/wpcafe/tutorials/kak-razreshit-gostyam-sozdavat-postyi-na-vashem-wordpress-sayte/
Дякуємо!
А ви не підкажете, як змінити текст на російську? Після заповнення форми. І коли не всі розділи у формі були заповнені. Зараз у мене текст англійською весь. Ніяк не можу зрозуміти де замінити на свій текст.
З форм мені найбільше сподобався uCalc плагін з вашого огляду https://hostenko.com/wpcafe/plugins/5-wordpress-plugins-for-business-website/ у ньому дійсно красиві форми виходять.
Так, гарний плагін. Я зараз ще такі форми використовую stepform.io/ru прикольна штука, там віз. редактор набагато простіше.
Добрий день. підкажіть плиз, як на gravity forms налаштувати цілі на яндекс.метріку?