Jetpack — отличное решение для формирования списка подписчиков, а Intercom — решение, которое позволит вам управлять подписчиками и оставаться в обращайтесь с ними.
В этом уроке мы покажем вам, как увеличить список подписчиков с помощью Jetpack и Intercom.
Некоторые люди пришли спросить меня, можно ли разрешить пользователям подписываться и получать все свои статьи по электронной почте, а также сохранять свои адреса электронной почты в Интерком. Я сразу ответил положительно, особенно по API (Интерфейс прикладного программирования) прост в использовании.
Поэтому я подумал об использовании плагина подписки, который будет отправлять адреса электронной почты в Intercom через API. И это именно то, что я сделаю.
У нас уже был установлен Jetpack, поэтому все, что вам нужно, это активировать модуль " Подписки …Однако все не так просто, что, если вы хотите отобразить форма в произвольном месте (настраиваемая страница, например)? Мы также покажем вам, как настроить расположение форма.
первые шаги
Начнем с форма базовый :
Никогда не пропустите наши сообщения. Получайте обновления в свой почтовый ящик, как только они будут опубликованы.
Для всех, кому может быть интересно, я добавил форму здесь, используя действие " genesis_after_entry Тема Genesis, но если вы не используете Genesis, вы можете использовать фильтр " the_content И связал ваш контент с содержанием статьи.
В нашем примере мы отобразим форму после 3e статья. Если вы используете фильтр, используйте функции " ob_start "А также" ob_get_clean Инициализировать буфер и использовать его содержимое.
Глобальный $ пост, $ WP_Query; if (is_home() && $ WP_Query->сообщений[3]->ID == $ пост->ID) { включают(get_stylesheet_directory()."/includes/templates/snippets/blog-archive-signup.php"); }
Вот CSS для стилизации формы.
# Блог-архив-подключения { ширина:100% важно!; Очистить:изоферменты печени; } # Блог-архив-подключения { @include точки останова ($ Tablet) { фон:URL ( "изображения / низкий bg.png") нет-Повторяю 0 0; высота:200px; } } # Блог-архив-регистрация FIELDSET { граница:0; ширина:100%; обивка левый:50px; } # Блог-архив-регистрация FIELDSET { @include точки останова (макс ширина таблетки $) { обивка левый:0px } } # Блог-архив-легенда подключений { обивка-топ:20px; } # Блог-архив-Signup поля Container # { ширина:100% } # Вход Блог-архив-подключения [имя * = 'электронная почта'] { фон:URL ( "изображения / низкий field.png") нет-Повторяю 0 0; набивка:0; маржа:0; высота:44px; граница:0; ширина:560px; Высота строки:22px; плавать:оставил; } # Вход Блог-архив-подключения [имя * = 'электронная почта'] { @include точки останова (макс ширина таблетки $) { набивка:0; маржа:0; граница:0; ширина:50%; плавать:оставил; } } вход # Блог-архив-подключений [тип = «Отправить»] { фон:URL ( "изображения / низкий button.png") нет-Повторяю 0 0; набивка:0; маржа:0; высота:44px; граница:0; ширина:180px; цвет: #fff; выравнивания текста:центр }
Как добавить подписчиков
Теперь мы будем регистрировать пользователей на Jetpack, используя " jQuery.ajax .
$(«# Блог-архив-подключения»).отправить(функция(e) { e.preventDefault(); $("LoadingMessage #, # failMessage").скрывать().удаление(); вар __button = $('# Блог-архив-подключений ввода [тип = „отправить“]).получить(0); $('# Блог-архив-подключений ввода [тип = „отправить“]).после(codeable_spinner); вар __DATA = $(этой).сериализации() + '& secure =' + codeableVars.безопасность + '& action = blog_archive_signup'; $.после(codeableVars.ajaxurl,__DATA,функция(ответ) { консоль.журнал(ответ); if (ответ.успех) { $("#codeable_spinner").ReplaceWith(«Успех!»).задерживать(5000).Затухание(«Медленный»).удаление(); } еще { $("#codeable_spinner").ReplaceWith(""+ответ.сообщение+"").задерживать(5000).Затухание(«Медленный»).удаление(); } }) })
Теперь нам нужно сохранить пользователя в Jetpack и Intercom. Я копался в коде Jetpack, чтобы узнать, как он добавляет подписчиков, и нашел класс «Jetpack_Subscriptions» и статический метод, который принимает электронную почту в качестве параметра. А для Intercom будет достаточно простого запроса CURL.
add_action('Wp_ajax_landing_page_signup', 'Blog_archive_signup')); add_action('Wp_ajax_nopriv_landing_page_signup', 'Blog_archive_signup'); функция blog_archive_signup() { $ Данных = массив( «Электронная почта» => $ _POST['Blog_archive_partition_email'], 'Custom_attributes' => массив('Subscribed_via' => 'Blog_archive_partition') ); $ вызова = wswp_make_api_call($ Данных); $ ответ = массив(«Успех»=>правда,«Сообщение» => "Bpa_signup"); $ подписаться = Jetpack_Subscriptions::подписаться($ _REQUEST[префикс $.'_email']); delete_transient('Wpcom_subscribers_total'); stats_update_blog(); кол // обновляем подписчиков в Wp-администратора wp_send_json($ ответ); выход(); } функция wswp_make_api_call($ Данных) { $ завиток = curl_init(); curl_setopt_array($ завиток, массив( CURLOPT_HTTPHEADER => массив('Content-Type: применение / JSON', 'Accept: приложения / JSON'), CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => 'Https://api.intercom.io/users', CURLOPT_POST => 1, CURLOPT_USERPWD => INTERCOM_APP_ID . «» . INTERCOM_API_KEY, CURLOPT_POSTFIELDS => json_encode($ Данных), CURLOPT_HEADER => ложный, )); // Обратите внимание, что вам нужно будет установить константу для приложения идентификатор и ключ API для собственных значений $ Вернуться = json_decode(curl_exec($ завиток), правда); curl_close($ завиток); возвращают $ Вернуться; }
Вот и все. Теперь, когда кто-то заполняет эту форму, они сразу получают электронное письмо с подтверждением на Jetpack, в котором говорится, что они подписались, и они будут получать электронные письма с вашими статьями, как только они будут опубликованы.
Негласно они регистрируются в Intercom с меткой «Subscribed_Via => раздел архива блога». В следующий раз я расскажу вам, как вы также можете отправить своих подписчиков плагина Thrive Leads в Intercom с помощью данные дополнительная информация, которая позволит вам различать их все.
Если вы не освоите полезность " codeableVars.security Вы должны знать, что он содержит " нунций «WordPress. Обычно это можно было бы сделать с помощью функции php wp_nonce_field () В форме, но в скрипте, содержащем только JavaScript, поле nonce уже доступно в функции JS " wp_localize_script () .
Это все, что нужно сделать для этого урока. Не стесняйтесь задавать нам вопросы или делиться учебником со своими друзьями в ваших любимых социальных сетях.