+7(982) 597-7179

Счетчик отправленных писем Contact form 7

Счетчик отправленных писем Contact form 7

Буквально сегодня с одного из детских садиков пришло распоряжение на сайт установить счетчик обращений посетителей. То есть, другими словами, надо вывести количество отправленных форм. Поиск выдал не много вариантов решения данной проблемы, но и они не работали.

Представляю рабочее, на данный момент, решение.

Понадобятся плагины:

  1. Contact form 7
  2. Contact Form 7 Dynamic Text Extension
  3. Contact Form Database (на данный момент плагин отсутствует в галереи плагинов вордпресса, но скачать его можно здесь)

4. В файл function.php вашей темы нужно добавить следующий код:


//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’);

5. В саму форму, добавьте следующее поле. Это поле будет скрыто, и отображаться в форме не будет. Оно нужно для присвоения номера.

[dynamichidden cf7counter «CF7_counter»]

6.Если вам, где-либо на сайте нужно вывести количество уже заполненных форм, тогда используйте шорткод:

[cfdb-count form=»*»]

7. Для вывода в файле темы:

<?php echo get_option( CF7_COUNTER, 0); ?>

Счетчик готов.  Если у вас что-то не получилось, сообщите нам и мы вам поможем поставить счетчик сообщений на сайт за небольшую плату.

 

ОБНОВЛЕНИЕ 03.08.2017

Незарегистрированные пользователи не видят счетчик. Вместо него надпись:  You do not have sufficient permissions to access this data.

Проблема решилась только жестким путем. Через SQL запрос. Удалите у себя пункты 6 и 7, далее там где надо вывести счетчик пропишите следующее:

<? $db_host = ‘localhost’;

$db_user = ‘123123123’;//введите свои данные

$db_password = ‘123123123’;//введите свои данные

$db_name = ‘123123123’;//введите свои данные

$link = mysqli_connect($db_host, $db_user, $db_password, $db_name);

$sql = «SELECT * FROM `wp_cf7dbplugin_st`»;  

$result = $link->query($sql);  

$total = $result->num_rows;  echo ‘<p>Количество обращений: ‘.$total.'</p>’;  ?>


Приглашаем поучавствовать в обсуждении статьи:

Комментариев 0

Войти с помощью: