Код: Выделить всё
add_action( 'phpmailer_init', 'my_phpmailer_smtp' );
function my_phpmailer_smtp( $phpmailer ) {
$phpmailer->From = 'Info';
$phpmailer->FromName = 'info@domain.com';
}
Теперь, после установки значений по умолчанию для адреса электронной почты и имени, как указано выше, как я могу динамически обновлять их в другом PHP-функция? Я попытался снова вызвать этот phpmailer_init внутри нашей собственной функции, но затем поле «От электронной почты» и имя просто пусты.
Вот что я пробовал, но не работает (упрощенно):< /p>
Код: Выделить всё
add_action( 'phpmailer_init', 'my_phpmailer_smtp' );
function my_phpmailer_smtp( $phpmailer ) {
// default settings
$phpmailer->From = 'Info';
$phpmailer->FromName = 'info@domain.com';
}
function my_send_email($to,$subject,$body,$from_email='',$from_name='') {
if($from_email && $from_name) {
// Overwriting default settings - not working - results in empty sender details when receiving email
add_action( 'phpmailer_init', 'custom_phpmailer_smtp' );
function custom_phpmailer_smtp( $phpmailer ) {
$phpmailer->From = $from_email;
$phpmailer->FromName = $from_name;
}
} else {
$from_name = 'Info';
$from_email = 'info@domain.com';
}
$headers = array();
$headers[] = 'From: '.$from_name.' ';
$headers[] = 'Reply-To: '.$from_name.' ';
$headers[] = 'Content-Type: text/html; charset=UTF-8';
wp_mail( $to, $subject, $body, $headers );
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... -php-funct
Мобильная версия