Получайте новые записи в блоге через RSS RSS
6 августа 2011 | WordPress

Как отправить SMS с данными формы на WordPress-сайте

Краткая предыстория

В ходе работ над одним из клиентских сайтов, сделали форму «Не можете дозвониться?».

Сама форма очень простая, и на электронную почту сообщение приходит без проблем. Только сотрудники могут оказаться на обеде, могут быть заняты какими-то другими делами, что-то может случиться с подключением к интернету в конце концов.

А клиент ждет звонка. И чем быстрее, тем лучше.

Так что в тот момент, когда посетитель нашего сайта нажимает кнопочку «Отправить» в форме, будем отправлять не только письмо, но и SMS c его именем и номером телефона.

Инструменты

  • Contact Form 7 — для создания и вывода форм на сайте, работающем под управлением WordPress.
  • LittleSMS.ru — для отправления SMS по 50 копеек за штуку.

Реализация

Рассказывать о создании форм не буду. Данный процесс интуитивно понятен, особенно, учитывая то, что плагин Contact Form 7 переведен на русский язык.

А вот после того, как формы настроены и сообщения отправляются на электронную почту, займемся SMS-уведомлениями.

  1. Идем в Готовые решения LittleSMS.ru и скачиваем «Класс для PHP»
  2. Безо всяких изменений закачиваем его в папку с используемой на сайте темой WordPress.
  3. В этой же папке редактируем файл functions.php, в конец которого надо добавить следующий код:
<?php
add_action( 'wpcf7_mail_sent', 'your_wpcf7_mail_sent_function' );
 
function your_wpcf7_mail_sent_function( $contact_form ) {
    $title = $contact_form->title;
    $posted_data = $contact_form->posted_data;
 
    if ( 'Callback' == $title ) { // Если вы используете несколько форм на сайте, то здесь надо указать название той, после заполнения которой будет отправляться SMS.
 
       $yourphone = $posted_data['your-phone']; // Cохраняем в переменные те данные, которые будут оправляться в SMS.
       $yourname = $posted_data['your-name'];
 
    require_once 'LittleSMS.class.php';
    $api = new LittleSMS('LittleSMS-Login', 'LittleSMS-API-key', false);
    $api->sendSMS('79101111111-получатель SMS', "$yourname - $yourphone", 'От чьего имени отправляем сообщение');
    }
}
?>

После этого остается лишь добавить денег на баланс и убедиться, что все исправно работает. :)

Заключение

Очевидно, что сервис LittleSMS.ru способен на большее. И применять его, естественно, можно на любых сайтах.

Но даже такое простое дополнение способно существенно повысить качество обслуживания клиентов. Ведь и вашему клиенту будет приятно, если ему перезвонят через минуту после заполнения формы о заказе услуг. ;)

И хочется поблагодарить автора Contact Form 7 за отзывчивость и помощь в решении данной задачи.

Поделитесь этой статьей с друзьями в:

Опубликовать в twitter.com Опубликовать в своем блоге livejournal.com

Заметки по теме:

Комментариев: 3

  1. Тема (11 января 2012, 23:35)
  2. Сделал все точно как тут, заменив в коде данные на свои. Блин, не работает.
    С контактом знаком, форма работает, а смски просто не приходят. Какие варианты?

  3. Владимир Лапшин (12 января 2012, 07:06)
  4. Тема, если не работает, значит, что-то сделали не так. :)
    Просто SMS c LittleSMS.ru уходят?

  5. Тема (12 января 2012, 11:42)
  6. да, просто уходят. а с вордпресса нет. в контакте есть переменная your-phone и your-name.
    вместо LittleSMS-Login написал логин апи-юзера (пробовал и свой)
    вместо LittleSMS-API-key написал пароль апи-юзера (пробовал и свой апи)
    далее свой номер, ну и имя латиницей.
    не хочет. с чего начать?

Напишите комментарий