ГлавнаяРазноеРабота с MailChimp в WordPress

Работа с MailChimp в WordPress

MailChimp — это один из самых популярных сервисов для сбора подписчиков и отправки рассылок по электронной почте. В этой статье мы рассмотрим несколько методов интеграции MailChimp с сайтами на WordPress.

Преимущества MailChimp

Самые частые проблемы с рассылками по электронной почте возникают при отправки писем с собственного сервера и неправильной конфигурации TXT и SPF записей в DNS. Это приводит к частому попаданию рассылок в спам, или их зависанию в очереди на отправку на сервере, особенно когда речь идет о крупном количестве подписчиков.

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

Базовая версия MailChimp ничего не стоит и позволяет содержать базу данных до 2,000 подписчиков, а при работе с большим количеством придется перейти на платную версию, от $30/месяц или от 0.5 центов за письмо.

Несколько хороших альтернатив сервису MailChimp: Campaign Monitor и SendGrid.

1. Ссылка на форму

Самый простой метод работы с MailChimp в WordPress — это размещение прямой ссылки на форму подписки. После создания нового списка подписчиков в сервисе MailChimp, перейдите в раздел Signup Forms → General Forms:

Создание формы для подписчиков в MailChimp

Создание формы для подписчиков в MailChimp

Здесь вы сможете самостоятельно создать форму с требуемыми полями, а также получить на не ссылку вида http://eepurl.com:

Управление полями в форме MailChimp

Управление полями в форме MailChimp

Данную ссылку вы можете разместить в меню WordPress, в текстовом виджете или в содержимом любой статьи или страницы с помощью следующего HTML кода:

Подпишитесь на <a href="ссылка здесь">нашу рассылку</a>

Кстати, формы подписки в MailChimp могут быть мультиязычными. Во вкладке «Translate it» в настройках формы вы можете указать язык по умолчанию, использовать перевод по умолчанию или самостоятельно перевести строки.

2. Интеграция формы и плагин MailChimp

Второй метод для работы с MailChimp в WordPress — это интеграция самой формы подписки, например на отдельную страницу на сайте или в боковую колонку. Для этого потребуются права администратора и возможность публиковать нефильтрованный HTML-код на сайте.

Чтобы получить код формы в MailChimp перейдите в раздел Signup Forms → Embedded Forms:

Встраиваемые формы MailChimp

Встраиваемые формы MailChimp

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

Альтернативой является официальный плагин MailChimp, который позволяет прямо из Консоли WordPress выбрать требуемый список, настроить форму для подписки и вывести ее с помощью специального виджета. Есть также ряд неофициальных плагинов которые можно рассмотреть.

3. Работа с MailChimp API

Третий и самый продвинутый метод — это работа с MailChimp через API. Здесь вам потребуются навыки программирования и написания собственных плагинов для WordPress. Методов в MailChimp API достаточно много и в этой статье мы коротко рассмотрим лишь один.

Перед началом работы вам потребуется API ключ, который можно получить на сайте MailChimp в разделе Account Settings → Extras → API Keys. Данный ключ необходимо всегда указывать при обращении к API.

Создание API ключей в MailChimp

Создание API ключей в MailChimp

Добавить адрес в список рассылки

С помощью API метода lists/subscribe мы можем добавить новый адрес электронной почты к существующему списку. Сделать это можно функцией WordPress wp_remote_post(), которая отправляет POST запрос на внешний адрес.

$api_key = 'ваш API ключ';
$dc = 'us6'; // дата-центр MailChimp
$list_id = 'идентификатор списка';
$email = 'john@gmail.com';

$url = "https://$dc.api.mailchimp.com/2.0/lists/subscribe.json";

$request = wp_remote_post( $url, array(
    'body' => json_encode( array(
        'apikey' => $api_key,
        'id' => $list_id,
        'email' => array( 'email' => $email ),
    ) ),
) );

$result = json_decode( wp_remote_retrieve_body( $request ) );

В переменной $dc хранится идентификатор дата-центра MailChimp. Его можно взять из выданного вам API ключа. Например, если ключ заканчивается на -us5, то в переменной $dc необходимо указать строку us5.

Переменная $list_id содержит индивидуальный идентификатор списка, к которому необходимо добавить подписчика. Данный идентификатор необходимо скопировать из настройки списка в разделе Settings → List Name & Defaults:

Идентификатор списка в MailChimp

Идентификатор списка в MailChimp

В переменной $email содержится адрес электронной почты, который необходимо добавить к списку. Обратите внимание на то, что при обращении к MailChimp API адрес передается не строкой, а массивом с ключом email.

После определения всех требуемых переменных, мы составляем $url, куда будет отправляться запрос, и отправляем его с помощью функции wp_remote_post(), которая возвращает результат данного запроса.

Содержимое результата можно получить с помощью функции wp_remote_retrieve_body(). Здесь как правило будет ответ об успешности операции MailChimp, или код какой-либо ошибки, например если мы пытаемся подписать адрес, который уже существует в данном списке.

В случае возникновения ошибки при HTTP запросе (например сервер недоступен), ее можно обработать с помощью WP_Error. Подробнее о функциях wp_remote_* можно почитать в кодексе WordPress.

Для удобства написанный нами код можно обернуть в функцию:

function mailchimp_subscribe( $email ) {
    // наш код
}

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

Как мы уже упомянули, в MailChimp API очень много различных методов. С их помощью можно:

  • Добавлять или удалять адреса из списков, как по одному так и в больших количествах
  • Создавать сегменты или группы интересов, например рубрики или метки в WordPress
  • Указывать дополнительные поля, например страница на которой пользователь подписался или автор статьи
  • Указывать источник перехода на ваш сайт

Также с помощью API можно создавать новые кампании, наполнять их содержимым и выполнять рассылки не заходя в интерфейс MailChimp. Это возможно реализовать с помощью campaigns/create, пожалуй один из самых комплексных методов API.

Заключение

MailChimp — один из самых мощных инструментов для работы с подписчиками и рассылками, при этом он подходит как для простых пользователей WordPress, так и для опытных веб-разработчиков.

Если вы ранее не работали с сервисом MailChimp, то мы рекомендуем попробовать его в рамках бесплатной версии, и интегрировать на сайт первым описанным нами методом.

Если вы не против повозиться с настройками, HTML кодом и CSS стилями, то второй метод вполне подойдет, а если вам хочется более тесной интеграции MailChimp и WordPress, то советуем смотреть в сторону API.

Подписаться на рассылку

Подписаться → Подпишитесь на бесплатную рассылку журнала WP Magazine и получайте новости, события, подборки тем и плагинов, уроки, советы и многое другое в мире WordPress!