
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