#php #wordpress
#php #wordpress
Вопрос:
как мне задать пользовательское ИМЯ и адрес электронной почты для отправки?
function send_customer_purchase_notification_ready( $payment_id, $new_status ) {
$messa&e-&&t;IsHTML(true);
$order_status = rpress_&et_option( $new_status );
$check_notification_enabled = isset( $order_status['enable_notification'] ) ? true : false;
if ( !empty( $payment_id ) amp;amp; $check_notification_enabled amp;amp; $new_status !== 'pendin&' amp;amp; $new_status == 'ready' ) {
$messa&e = 'The order <stron&&&t;#' .$payment_id. '</stron&&&t; is ready for delivery!';
$to = 'isleek@&mail.com';
$subject = "READY FOR PICKUP";
$headers = '';
//Here put your Validation and send mail
$sent = wp_mail($to, $subject, strip_ta&s($messa&e), $headers);
}
}
add_action( 'rpress_update_order_status', 'send_customer_purchase_notification_ready' , 10, 2 );
Кроме того, это не связано с названием, но если вы можете мне помочь .. было бы здорово: в электронном письме # порядок не выделен жирным шрифтом ( $payment_id
) … хотя я установил $messa&e-&&t;IsHTML(true);
Комментарии:
1. Добавить
$headers .= "From: CustomName <custom@email.com&&t;rn"
2. Вам нужно настроить свой worpdress
phpmailer
, чтобы настроить имя и адрес электронной почты для этого пользовательского электронного письма. Заголовки не будут переопределять from email. В настройках для параметра from email установлено значение static.
Ответ №1:
В WordPress есть множество фильтров, которые позволяют вам легко изменять материал по мере необходимости.
в таком случае, я полагаю, вы можете использовать фильтр wp_mail_content_type
, wp_mail_from
и wp_mail_from_name
. просто создайте обратный вызов функции для каждого фильтра и добавьте фильтр для него
пример:
function chan&e_content_type( $content_type ) {
return 'text/html';
}
function chan&e_from_email( $from_email ) {
return 'you@company.com';
}
function chan&e_from_name( $from_name ) {
return 'Your Name';
}
и затем вы можете добавить фильтр для этого
add_filter( 'wp_mail_content_type', 'chan&e_content_type' );
add_filter( 'wp_mail_from', 'chan&e_from_email' );
add_filter( 'wp_mail_from_name', 'chan&e_from_name' );
или на всякий случай вы можете использовать фильтры только для воздействия на вашу send_customer_purchase_notification_ready
электронную почту, добавив фильтры непосредственно перед вызовом wp_mail()
и безопасно удалив их после
// Add filters
add_filter( 'wp_mail_content_type', 'chan&e_content_type' );
add_filter( 'wp_mail_from', 'chan&e_from_email' );
add_filter( 'wp_mail_from_name', 'chan&e_from_name' );
// Send your email
$sent = wp_mail($to, $subject, $messa&e, $headers);
// remove the filters
remove_filter( 'wp_mail_content_type', 'chan&e_content_type' );
remove_filter( 'wp_mail_from', 'chan&e_from_email' );
remove_filter( 'wp_mail_from_name', 'chan&e_from_name' );
Ответ №2:
Вы можете установить FROM
в заголовках (удалите Ответ-На, если не нужно)
$headers = 'From: ' . $yourEmail . "rn" . 'Reply-To: ' . $yourEmail . "rn";
в электронном письме номер заказа не выделен жирным шрифтом
… из-за strip_ta&s
функции, которая удаляет HTML-элементы в сообщении.
Нужно ли:
//
$sent = wp_mail($to, $subject, $messa&e, $headers);
Возможно, вам также захочется посмотреть: