Отправить письмо автору поста WordPress и CF7
Сегодня я расскажу как я справлялся с одной интересной задачей. У клиента был статейник с несколькими авторами и каждый автор должен был получать письма из своих собственных статей. Для решения этто задачи мы зарегистрировали для каждого автора отдельный аккаунт и указали почты авторов.
Далее была задача в популярный плагин Contact form 7 ( CF7 ) добавить email автора текущей статьи или со страницы автора. После не большего мозгового штурма, десятка выпитых чашек кофе и поисков в google я нашел решение. Как всегда проблема была решена достаточно просто, как и все в WordPress. Для вывода динамического адреса плагин контактной формы я использовал дополнительный плагин Contact Form 7 Dynamic Text Extension, с помощью него я смог легко передать динамическое значение в одно из полей формы.
Рассмотрим пошагам отправку писем автору поста с помощью плагина Contact Form 7 (Cf7)
- Устанавливаем плагины Contact Form 7 и Contact Form 7 Dynamic Text Extension и создайте новую контактную форму с плагином CF7.
- Добавляем любые необходимые поля в форму и обязательно добавляем скрытое динамическое поле как показано ниже. Назовите динамическое поле custom-post-author-email-short-code и в поле Dynamic value добавьте имя короткого кода CUSTOM_POST_AUTHOR_EMAIL!
- Теперь нажмите на вкладку Почта формы CF7 и заполните поле «Кому отправлять Email» используя шорткод: [custom-post-author-email-shortcode]. С помощью этой настройки мы добиваемся того, чтобы наша контактная форма отправляла сообщение на наш динамически генерируемый адрес электронной почты.
- Регистрируем шорткод, чтобы получить адрес электронной почты текущего автора поста. Мы создаем новый шорткод для этой работы с помощью WordPress Shortcode API! Вы можете поместить код в новый плагин или в свой файл functions.php:
1 2 3 4 5 6 7 8 9 10 11 12 |
/** * Отправляем письмо автору поста на его email. */ function custom_get_post_author_email($atts){ $value = ''; if(get_the_author_meta( 'user_email' )) { $value = get_the_author_meta( 'user_email' ); } return $value; } add_shortcode(CUSTOM_POST_AUTHOR_EMAIL, custom_get_post_author_email); |

/*

- Базовый курс по веб-дизайну;
- Верстка сайтов;
- Общий курс по CMS WordPress и продолжение курса по разработке шаблонов;
- Разработка сайтов на PHP.