WordPress 编辑器忽略换行符
WordPress editor ignoring line breaks
我使用的是为一个独特的注册网站定制的插件。 WP 仪表板中有一个设置页面,管理员可以在其中编写发送给用户的注册确认电子邮件,该页面使用默认的 wp-editor(我认为是 TinyMCE)。
我确认了这一点,因为插件的 setting.php 有以下循环
<?php
wp_editor( $content, $editor_id );
?>
问题是,虽然编辑器在帖子和页面上工作正常,但当电子邮件从使用相同编辑器的我的插件设置页面发送时,发送时没有换行符。
我曾尝试在文本模式下使用编辑器使用 <br />
<p></p>
和 <div></div>
创建换行符,但它们也不起作用,在保存更改后, html 标签被翻译成富文本,即 <br />
变成 <br >
。
这是我的发送邮件功能在插件中的样子:
function SendMails($Data){
$To = $Data['To'];
$Subject = $Data['Subject'];
$Sender = $Data['SenderName'];
$From = 'support@'.$_SERVER['SERVER_NAME'];
$Body = $Data['Body'];
$Attachments = $Data['Attachments'];
$recipients = array($To);
$headers[] = "From: $Sender <$From>" . "\r\n";
$headers[] = "Content-Type: text/html";
$subj = $Subject;
$SendMail = wp_mail( $recipients, $subj, $Body, $headers, $Attachments );
return $SendMail;
}
P.S。所有其他 WP 电子邮件均已正确发送并带有换行符。
知道问题出在哪里and/or如何解决?
使用此代码将休息时间转换为
$Body = preg_replace("/\r\n|\r|\n/",'<br/>',$Data['Body']);
我使用的是为一个独特的注册网站定制的插件。 WP 仪表板中有一个设置页面,管理员可以在其中编写发送给用户的注册确认电子邮件,该页面使用默认的 wp-editor(我认为是 TinyMCE)。
我确认了这一点,因为插件的 setting.php 有以下循环
<?php
wp_editor( $content, $editor_id );
?>
问题是,虽然编辑器在帖子和页面上工作正常,但当电子邮件从使用相同编辑器的我的插件设置页面发送时,发送时没有换行符。
我曾尝试在文本模式下使用编辑器使用 <br />
<p></p>
和 <div></div>
创建换行符,但它们也不起作用,在保存更改后, html 标签被翻译成富文本,即 <br />
变成 <br >
。
这是我的发送邮件功能在插件中的样子:
function SendMails($Data){
$To = $Data['To'];
$Subject = $Data['Subject'];
$Sender = $Data['SenderName'];
$From = 'support@'.$_SERVER['SERVER_NAME'];
$Body = $Data['Body'];
$Attachments = $Data['Attachments'];
$recipients = array($To);
$headers[] = "From: $Sender <$From>" . "\r\n";
$headers[] = "Content-Type: text/html";
$subj = $Subject;
$SendMail = wp_mail( $recipients, $subj, $Body, $headers, $Attachments );
return $SendMail;
}
P.S。所有其他 WP 电子邮件均已正确发送并带有换行符。
知道问题出在哪里and/or如何解决?
使用此代码将休息时间转换为
$Body = preg_replace("/\r\n|\r|\n/",'<br/>',$Data['Body']);