이것을 달성하는 데 도움이되는 action_hook 또는 이와 유사한 것이 있습니까?
PHP 문자열 변수에 마크 업을 추가하려고 시도했고 wp_mail 함수를 사용하여 이메일을 시작했습니다.
$email_to = 'someaddress@gmail.com';
$email_subject = 'Email subject';
$email_body = "<html><body><h1>Hello World!</h1></body></html>";
$send_mail = wp_mail($email_to, $email_subject, $email_body);
그러나 그것은 평문으로 나타 났습니까?
어떤 아이디어?
답변
에서 wp_mail 사본 페이지 :
기본 컨텐츠 유형은 ‘text / plain’이며 HTML 사용을 허용하지 않습니다. 그러나 ‘wp_mail_content_type’필터를 사용하여 이메일의 컨텐츠 유형을 설정할 수 있습니다.
// In theme's functions.php or plug-in code:
function wpse27856_set_content_type(){
return "text/html";
}
add_filter( 'wp_mail_content_type','wpse27856_set_content_type' );
답변
대안으로 $ headers 매개 변수에 Content-Type HTTP 헤더를 지정할 수 있습니다.
$to = 'sendto@example.com';
$subject = 'The subject';
$body = 'The email body content';
$headers = array('Content-Type: text/html; charset=UTF-8');
wp_mail( $to, $subject, $body, $headers );
답변
wp_mail 함수를 사용한 후에 컨텐츠 유형 필터를 제거하는 것을 잊지 마십시오. 허용되는 답변의 이름을 지정한 후에 wp_mail이 실행 된 후에이 작업을 수행해야합니다.
remove_filter( 'wp_mail_content_type','wpse27856_set_content_type' );
이 티켓을 확인하십시오-컨텐츠 유형을 재설정하여 충돌을 피하십시오-http: //core.trac.wordpress.org/ticket/23578