В этой статье мы поговорим о малоизвестных функциях одного из самых популярных плагинов для передачи почтовых сообщений Contact Form 7 . В этом плагине предусмотрена передача специальных тегов, с помощью которых можно получить не мало дополнительной полезной информации об отправителе.
Плагин очень полезный и популярный. Обратите внимание на число скачиваний на сегодняшний день. Это неприлично большая сумма.
Таблица специальных тегов плагина Contact Form 7
Ссылка на официальную страницу
Теги будут заменены согласно описанию. То есть в форме указываете пояснение, например Товар: и ставите тег, например, название записи. Следовательно ее заголовок и придет к вам.
[_remote_ip] IP-адрес отправителя.
[_user_agent] User Agent отправителя.
[_url] URL-адрес контактной формы.
[_date] Дата отправления.
[_time] Время отправления.
[_post_id] ID поста (записи) контактной формы.
[_post_name] Имя поста (в схеме протокола HTTP ).
[_post_title] Заголовок записи с контактной формой.
[_post_url] Ссылка на страницу отправки.
[_post_author] Имя автора публикации.
[_post_author_email] Адрес почты автора публикации.
Заказ товаров через Contact Form 7
Рассмотрим на примере простую, но эффективную реализацию заказа товара. Например, у нас есть обычная страница записи WordPress, которая имеет название товара, ну предположим «Валенки», следующая запись будет иметь название «Шарфы» и т.д. и т.п. То есть записи выступают в роли презентации товаров и имеют уникальное имя. В файле single.php вашей темы нам необходимо разместить вывод контактной формы. Это для того, чтобы не вставлять код в каждую запись, так как определенно это будет идиотизмом, ведь записей может быть более сотни, а то и тысячи.
Как выводить Contact Form 7 через PHP?
Очень просто. Для этих целей существует специальный шорткод:
<?php echo do_shortcode( ‘[contact-form-7 id=»1234″ title=»Contact form 1″]’ ); ?>
Естественно между одиночных кавычек у Вас будет содержаться уникальный код Вашей формы.
Теперь формируем в админке заголовки письма, которые будут передаваться, ну например, имя, телефон и вставляем спец.тег заголовка записи. Теперь мы будем знать цену какого изделия запрашивает клиент. Все очень просто на мой взгляд и удобно. Совсем не обязательно для эффективных продаж разворачивать интернет-магазины с сотней лишних функций.
Запрещаем редактировать контактную форму
Как известно «Контактная форма 7″очень лояльна в правах на редактирование и порой просто необходимо ограничить пользователей в этом. Для этого в файл wp-config.php нам необходимо добавить константу из примера ниже:
define( ‘WPCF7_ADMIN_READ_CAPABILITY’, ‘manage_options’ );
define( ‘WPCF7_ADMIN_READ_WRITE_CAPABILITY’, ‘manage_options’ );
Перенаправление после удачной отправки сообщения
Не менее полезная функция, которая реализуется путем добавления этого кода в поле дополнительных настроек:
on_sent_ok: «location = ‘http://example.com/’;»
Выбор получателей письма
И еще одна несомненно полезная штука — выбор адресатов. Для этого добавляем данный код в шаблон письма, указав свои значения адресов естественно.
<p>Выберите получателя<br />
[select your-recipient «Директору|ceo@example.com»
«Заместителю|sales@example.com»
«Начальнику|support@example.com»]</p>
Спасибо. Узнал кое-что новое. Пользуясь случаем, хочу спросить.
Передо мной стоит задача организации некоего подобия партнерской программы. Суть в том, что у пользователей должны быть реферальные ссылки, которые они будут распространять.
Предположим, человек перешел по реферальной ссылке и заполнил форму на сайте. Как бы сделать так, чтобы письмо ушло хозяину ссылки?
Смотрел плагин Affilate, но это не совсем то что нужно. Сам по себе сайт закрытый и регистрация на нем запрещена. Однако, плагин регистрирует людей при заполнении формы, а мне нужно, чтобы только отправлялось письмо хозяину ссылки.
Уфф. Надеюсь, описал внятно. Буду благодарен за помощь/подсказку,пинок в нужном направлении. Заранее спасибо.
P.S. Кодить не умею((
Возможно (если я правильно понял вопрос), Вам поможет дополнительная адресация. В разделе созданной формы «Письмо» есть поле «Use Mail (2)», здесь вы можете задать другого адресата, с другими параметрами.