我可以在邮件正文中使用快捷码吗

时间:2019-01-08 作者:Pratik Patel

我可以在邮件正文中为某些内容设置任何类型的自定义快捷码吗?

eg:

$to = "[email protected]";
$subject = "Test Email";

$packages = do_shortcode(\'[test id="0000"]\');

$message = $packages;

// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\\r\\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\\r\\n";

// More headers
$headers .= \'From: <[email protected]>\' . "\\r\\n";

mail($to,$subject,$message,$headers)

1 个回复
SO网友:birgire

短代码生成应该输出一个字符串,因此,如果您知道并信任短代码的输出,理论上应该可以这样做。

但是,许多短代码都是在考虑前端的情况下生成的,并且是在循环上下文中生成的,因此,如果邮件上下文依赖于以下条件检查,则可能并不总是有效is_single().

这里有shortcode_exists() 函数以确保短代码存在。

也可以直接使用短代码的回调,而不必运行do_shortcode().

在邮寄之前,您还可以添加一些有关短代码输出的验证。你想允许发送一个空字符串吗?

您还应该在将短代码添加到init 行动

请注意,WordPress使用wp_mail() 插件可以钩住的包装器。

相关推荐

SHORTCODE_ATTS()中的$ATTS参数是什么?

这个WordPress developers reference page for shortcode_atts() 国家:$atts(array)(必选)用户在shortcode标记中定义的属性。但我不理解这个定义。例如,在WP Frontend Profile 插件:$atts = shortcode_atts( [ \'role\' => \'\', ], $atts ); 据我所知,shortcode\