CONTACT FORM 7 Унікальний номер заявки

CONTACT FORM 7 чудовий безкоштовний плагін для створення форм ,але у нього є недолік.Немає унікального ідентифікатора листа .Зараз ми це вирішимо.

Для цього потрібно поставити простенький плагін для створення службових полів

Contact Form 7 Dynamic Text Extension

Ставимо плагін .потім працюватимемо у вашій темі .Можна було це зробити плагіном( якщо потрібно буде я зроблю плагін , пишіть у коментарі).Поки будемо так працювати.

Цей коди додаємо у function.php вашої активної теми.

//Визначаємо ключ для зберігання даних
define( 'CF7_COUNTER', 'cf7-counter');
 
//Створюємо шорткод, який визначає значення для поля Dynamic Text Extension
function cf7dtx_counter(){
    $ val = get_option (CF7_COUNTER, 0) + 1; //Збільшуємо поточне значення на 1;
    return $val;
}
add_shortcode('CF7_counter', 'cf7dtx_counter');
 
//Включаємо лічильник у роботу якщо лист був справді відправлений
function cf7dtx_increment_mail_counter(){
    $ val = get_option (CF7_COUNTER, 0) + 1; //Збільшуємо поточне значення на 1
    update_option(CF7_COUNTER, $val); //Оновлюємо параметри у базі даних
}
add_action('wpcf7_mail_sent', 'cf7dtx_increment_mail_counter');

Принцип роботи такий. коли ми заповнюємо поле. функція пише в базу в часності та таблицю options значення. При повторній відправці ми бачимо яке значення в базі і збільшуємо його на 1. І так далі. Канено є мінуси. Але функцію можна допрацювати .тут вказано лише принцип.

Вставляємо код у форму

[dynamichidden cf7-counter "CF7_counter"]
 

Додаємо шорткод самого лічильника в повідомлення, яке ми отримаємо:

[cf7-counter]

Якщо необхідно обнулити лічильник можна в базі поміняти ,або через функції wordpres