Мне очень был нужен такой счетчик для одного их моих сайтов и я нашла решение на сайте SevenSpark How to create a mail counter for Contact Form 7
Для работы счетчика у вас должны быть установлены следующие расширения для Contact Form 7:
А далее все очень просто.
//Define the key to store in the database
define( 'CF7_COUNTER', 'cf7-counter' );
//Create the shortcode which will set the value for the DTX field
function cf7dtx_counter(){
$val = get_option( CF7_COUNTER, 0) + 1; //Increment the current count
return $val;
}
add_shortcode('CF7_counter', 'cf7dtx_counter');
//Action performed when the mail is actually sent by CF7
function cf7dtx_increment_mail_counter(){
$val = get_option( CF7_COUNTER, 0) + 1; //Increment the current count
update_option(CF7_COUNTER, $val); //Update the settings with the new count
}
add_action('wpcf7_mail_sent', 'cf7dtx_increment_mail_counter'); где цифра 0, обозначает начальную цифру с которой будет вестись подсчет. Если вам нужно начинать, например, с 1000, просто замените 0 на 1000. но сделайте это сразу при установке, так как если отсчет уже начнется значение запишется и поменять его будет нельзя, по крайней мере у меня не получилось.
[dynamichidden cf7-counter "CF7_counter"]
Count: [cf7_counter]
или php вариант для внедрения в шаблон сайта:
< ?php echo get_option( CF7_COUNTER, 0); ?>
Также автор предлагает вариант для установки нескольких подсчетов:
//Define the key to store in the database
define( 'CF7_COUNTER', 'cf7-counter' );
//Create the shortcode which will set the value for the DTX field
function cf7dtx_counter($atts){
extract( shortcode_atts( array(
'counter_id' => '',
), $atts ) );
$val = get_option( CF7_COUNTER . $counter_id, 0) + 1; //Increment the current count
return $val;
}
add_shortcode('CF7_counter', 'cf7dtx_counter');
Шоткод для формы:
[dynamichidden cf7-counter "CF7_counter counter_id='1' "] Но я этот вариант не тестировала, поэтому ничего сказать не могу.
Спасибо большое автору. Для меня это оказалось незаменимое решение.
Если при открытие csv файла с помощью excel У все поехали ячейки - это простой… Read More
Простые шаги как происходит Загрузка проекта на Github и Автодеплой на сервер Сделайте работу проще! Read More
Миграция базы данных - помогают с этим библиотеки SQLAlchemy и Alembic. Read More
Основные Команды Git, которые точно пригодятся. Сохрани себе шпаргалку Git Read More
Установка PostgreSQL на сервер Read More
Как создать PrimaryKey в талице базы данных SQL [РЕШЕНО] Ошибка relation tablename_id_seq doesn't exist Read More
View Comments
Здравствуйте! Сейчас плагин Contact Form Database не работает. То есть достаточно установить плагин Contact Form 7 Dynamic Text Extension и повторить вашу инструкцию и счетчик отправлений работает. (тьфу-тьфу)))))
Count: [cf7-counter] - тут ошибка.
Правильней - Count: [CF7_counter]
Спасибо большое. Исправила