Здравствуй, дорогой друг)
Вот вам кусочек с рабочего проэкта.
суть вот в чём.
Есть функция которая принимает 2 параметра
$template
- это название файла с шаблоном в папке с шаблонами.
$args
- Массив для замены значений в письме.
public function send_email( $template, $args ) {
ob_start();
include APA_PATH . "/templates/emails/{$template}.php";
$content = ob_get_clean();
foreach ( $args as $key => $value ) {
if ( ! is_array( $value ) && ! is_object( $value ) ) {
$search = '{$' . $key . '}';
$content = str_replace( $search, $value, $content );
}
}
$message = $content;
wp_mail( $this->getEmailTo(), $this->getEmailSubject(), $message, $header );
}
Получаем содержимое файла с шаблоном и сохраняем в переменную
$content
ob_start();
include APA_PATH . "/templates/emails/{$template}.php";
$content = ob_get_clean();
Проходимся по массиову и ищем плейсхолдеры формата
{$user_name}
заменяем на реальные значения с массива и заменяем в переменной
$content
foreach ( $args as $key => $value ) {
if ( ! is_array( $value ) && ! is_object( $value ) ) {
$search = '{$' . $key . '}';
$content = str_replace( $search, $value, $content );
}
}
И финальный шаг: отсылаем письмо
$message = $content;
wp_mail( $this->getEmailTo(), $this->getEmailSubject(), $message, $header );
PS.
wp_mail()
- это функция из вордпресс