Intereting Posts
Изменить аргументы для родительской темы `wp_register_style` через дочернюю тему Возврат всех настраиваемых метаданных для одного настраиваемого типа сообщений Может ли тема Twenty Eleven иметь главный сидбар? Как перенаправить на конкретную панель инструментов BLOG (после входа в многосайтовый) Избегайте преобразования «>» в ​​& gt; Как сохранить свой вариант на странице настроек постоянной ссылки? Загружайте медиафайлы на S3 без использования WP Uploader Допустимый размер памяти 268435456 байт исчерпан (пытался выделить 7146491840906359738 байт) Сбросить пароль – установить минимальную длину для нового пароля Как добавить идентификатор страницы в свою постоянную ссылку с помощью WP_Rewrite? Есть ли плагин, который позволяет пользователям запрашивать учетную запись на сайте? Какой контент следует использовать для вставки изображений показ пользовательских типов сообщений определенной категории Скрыть содержимое коротких кодов из выдержки? Предварительно заполненное текстовое пространство по пользовательскому сообщению по умолчанию

Отправлять электронную почту из области администрирования в адрес в настраиваемом поле

Мой клиент хочет отправить электронное письмо с экрана редактирования страниц на несколько адресов электронной почты. На каждой странице есть настраиваемое поле, называемое email_addresses, которое имеет разделенные запятыми адреса:

введите описание изображения здесь

Каждая страница будет иметь другой набор адресов. Мне нужно текстовое поле под этим полем, в котором мой клиент может войти в тело письма и кнопку отправки ниже, чтобы отправить электронное письмо.

Я добавил форму с add_meta_box() и формой отправки на страницу редактирования страницы с помощью функции add_meta_box() :

  // Add metabox function metabox_after_publish() { add_meta_box( 'send-email', 'Send E-mail', 'send_email_metabox_content', 'page', 'advanced', 'high' ); } add_action( 'add_meta_boxes', 'metabox_after_publish' ); // callback function to populate metabox function send_email_metabox_content() { ?> <form> <textarea id="email_content" style="width:100%" rows="6"></textarea> <p><input id="email_send_button" type="submit" class="button button-primary button-large" value="Send" /></p> </form> <?php } 

введите описание изображения здесь

Как я могу сделать функцию формы, чтобы она отправляла содержимое текстового поля на адреса электронной почты в настраиваемом поле?

Сначала решите , хотите ли вы использовать GET или POST для своей формы. (без указания метода он будет использовать GET.)

Вам потребуется атрибут name заполненный для вашего текстового поля, так что информация может быть действительно отправлена. Затем добавьте обработку формы в свою функцию:

(т.е. if ( isset($_POST["message"]) && !empty($_POST["message"]) ) {...} )

Вам нужно будет использовать get_post_meta( get_the_ID(), 'email_addresses' ) для извлечения адресов электронной почты из настраиваемого поля. Сохраните это значение в строковой переменной. Вы захотите выделить адреса электронной почты в массиве (остерегайтесь места – вы должны убедиться, что ваш клиент знает, должны ли они или не должны иметь пробел после запятых) .

Затем вам нужно будет пропустить массив с помощью foreach (поскольку функция $to mail() PHP mail() не принимает массивы, а только строки). Вы можете создать свою форму обработки электронной почты, как примеры на этой странице .

Надеюсь это поможет! Дайте мне знать, если вам нужно разъяснение.