Как отправить почту с данными пользовательской формы в WordPress
У меня есть пользовательская HTML форма с полями ввода и чекбоксами. При отправке этой формы я хочу отправить письмо со всеми данными формы из того же PHP файла. Как мне отправить email из WordPress? Я новичок и буду благодарен за вашу помощь.

wp_mail
— это функция, которую вы ищете.
Вы можете взять данные из отправленной формы (например, $_POST['email']
) и использовать их для формирования и выполнения функции wp_mail
. Пример ниже взят из https://developer.wordpress.org/reference/functions/wp_mail/#user-contributed-notes:
$to = $_POST['email']; //sendto@example.com
$subject = 'Тема письма';
$body = 'Содержимое письма';
$headers = array('Content-Type: text/html; charset=UTF-8');
wp_mail( $to, $subject, $body, $headers );
Также в приведённом скрипте следует проверять данные на вредоносные атаки или некорректный ввод пользователя, но функция wp_mail
позволит вам отправлять электронные письма.
Источник: https://developer.wordpress.org/reference/functions/wp_mail/

Это зависит от того, как вы обрабатываете формы. Если у вас тот же PHP выполняется на странице шаблона, что и ваша форма, то можно (хотя я бы не рекомендовал). Я бы посоветовал ознакомиться с этими двумя ссылками, чтобы понять, как работать с формами в PHP (https://www.w3schools.com/php/php_forms.asp и https://www.w3schools.com/php/php_form_complete.asp). Вы также можете использовать плагин, например Contact Form 7 (https://wordpress.org/plugins/contact-form-7/), если не хотите писать PHP и работать прямо в WP-Admin.

Спасибо, могу ли я написать тело письма в виде пользовательского HTML, чтобы мое письмо выглядело уникально?

Если вы не хотите писать собственный код (и форму отправки писем), рассмотрите плагин 'контактной формы'. Я использую (и рекомендую) плагин Contact Form 7. Он позволяет создавать любые формы, настраивать их внешний вид/оформление/поля, а также письма, которые отправляются. Очень мощный и популярный плагин. Доступно множество других плагинов для добавления дополнительных полей.
Единственная небольшая проблема - это скудная и иногда труднодоступная (а иногда устаревшая) техническая документация (например, о доступных фильтрах). Но я нашел способы обойти это.

У меня есть пользовательская форма, могу ли я использовать плагин контактных форм для отправки писем?

Вам нужно будет "построить" форму через интерфейс плагина. Хотя технически возможно использовать процесс "отправки" из CF7, вам придется задать множество переменных CF7 для корректной работы, а эти переменные плохо документированы; вам пришлось бы разбираться в их коде. Проще всего использовать конструктор форм CF7, я думаю.

Один из простых способов отправки формы — использование сервиса для обработки форм, такого как https://www.formkeep.com.
Все, что вам нужно сделать, это изменить атрибут `action` в вашей форме, и сервис будет сохранять данные, а также предоставит возможности для интеграции с другими системами.
Вот пример того, как изменить HTML-код формы. Вам просто нужно заменить "example token" на ключ, предоставленный сервисом FormKeep.
<form accept-charset="UTF-8" action="https://formkeep.com/f/exampletoken" method="POST">
