Налаштування плагіна Contact Form 7 для WordPress

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Налаштування плагіна Contact Form 7 для WordPress
Проста
від 4 годин до 2 робочих днів
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Налаштування плагіна Contact Form 7 для WordPress

Contact Form 7 — найпопулярніший безплатний плагін форм для WordPress, встановлений на десятки мільйонів сайтів. Мінімалістичний: не зберігає заявки в базі за замовчуванням, немає візуального редактора — лише шорткоди та хуки. Для простих форм зворотного зв'язку цього достатньо.

Створення форми

Після установки: Контакти → Додати. Форма створюється через простий шорткод-синтаксис:

[text* your-name placeholder "Ваше імя"]
[email* your-email placeholder "Email"]
[tel your-phone placeholder "+7 (___) ___-__-__"]
[textarea your-message placeholder "Повідомлення" 10x5]
[submit "Відправити"]

Зірочка після типу поля (text*, email*) означає обов'язковість. Форма вставляється на сторінку шорткодом [contact-form-7 id="123"].

Налаштування пошти

Вкладка Mail у редакторі форми:

To: [email protected]
From: [your-name] <[email protected]>
Reply-To: [your-email]
Subject: Заявка з сайту: [your-name]
Body:
  Ім'я: [your-name]
  Email: [your-email]
  Телефон: [your-phone]
  Повідомлення: [your-message]

Вкладка Mail (2) — друге письмо, наприклад автоответ клієнту.

Зберігання заявок у базі

CF7 сам по собі заявки не зберігає — лише шле листи. Для зберігання встановіть аддон Flamingo:

Плагіни → Додати → Flamingo → Встановити

Після установки у меню з'являється «Flamingo» з розділом «Inbound Messages» — всі відправки форм там.

Захист від спаму

Вбудований захист — honeypot та інтеграція з Akismet:

// У налаштуваннях форми - вкладка Additional Settings
acceptance_as_validation: on

Для reCAPTCHA v3: Контакти → Інтеграція → reCAPTCHA — введіть ключі від Google. Тег [recaptcha] додається у форму.

Turnstile від Cloudflare підключається через плагін CF7 Turnstile.

Користувацька валідація

add_filter( 'wpcf7_validate_tel', function( $result, $tag ) {
    $value = isset( $_POST[ $tag->name ] ) ? trim( $_POST[ $tag->name ] ) : '';
    if ( $tag->is_required() && ! preg_match( '/^\+7[\d\s\-\(\)]{10,}$/', $value ) ) {
        $result->invalidate( $tag, 'Введіть коректний російський номер телефону' );
    }
    return $result;
}, 10, 2 );

Обробка відправки

add_action( 'wpcf7_mail_sent', function( $contact_form ) {
    $submission = WPCF7_Submission::get_instance();
    if ( ! $submission ) return;

    $data = $submission->get_posted_data();
    $name  = sanitize_text_field( $data['your-name'] ?? '' );
    $email = sanitize_email( $data['your-email'] ?? '' );

    // Відправити у Telegram, CRM тощо
    send_telegram_notification( "Нова заявка від $name ($email)" );
} );

Динамічні значення за замовчуванням

CF7 підтримує спеціальні теги для підстановки динамічних даних:

[hidden page-url "https://[_site_url][_url]"]
[hidden user-login "[_user_login]"]
[text* name default:"[_logged_in_user first_name]"]

Для більш гнучких значень — фільтр wpcf7_form_tag:

add_filter( 'wpcf7_form_default_value', function( $value, $tag ) {
    if ( 'current-product' === $tag->name ) {
        return get_the_title(); // підставити заголовок поточної сторінки
    }
    return $value;
}, 10, 2 );

Файлові вкладення

[file upload-file limit:2mb filetypes:pdf|doc|docx]

Файли додаються до листа і видаляються з сервера після відправки. Для збереження файлів — потрібен користувацький код:

add_action( 'wpcf7_mail_sent', function( $form ) {
    $submission = WPCF7_Submission::get_instance();
    $uploaded   = $submission->uploaded_files();
    foreach ( $uploaded as $field => $path ) {
        // скопіювати $path у /uploads/submissions/
        copy( $path, WP_CONTENT_DIR . '/uploads/submissions/' . basename( $path ) );
    }
} );

Обмеження CF7

Немає умовної логіки, немає багатокрокових форм, немає зберігання заявок «з коробки», немає візуального редактора. Для простого «ім'я + телефон + повідомлення» — відмінно підходить. Для складних форм краще дивитися на Gravity Forms або WPForms.

Тимчасові рамки

Налаштування однієї-двох форм з поштою та захистом від спаму — 2–4 години.