Echo 功能在 WooCommerce 通知中被剥离



我正在使用许多相关的WooCommerce插件,包括WooCommerce订阅和活动门票。活动门票插件有一个附加插件,可将活动和与会者信息添加到WooCommerce订单页面,包括电子邮件。在WooCommerce订阅特定的电子邮件中,CSS直接输出到邮件中,就好像回显功能被剥离了一样。但是,相比之下,在非订阅邮件上,CSS不会输出,它只是不添加样式。以下是在插件中的函数中调用样式表的方式:

echo '<style type="text/css">'; include( 'resources/tribe-attendee-meta-table.css' ); echo '</style>';

CSS 如下所示:

.woocommerce table a.event-title { font-size: 1.25em; font-style: italic; }

这似乎是动态添加为内联样式的。我不得不说我不是这样应用的,但导致我相信这与样式名称有关:

.woocommerce table

因此,如果我以这种方式编写 CSS:

a.event-title { font-size: 1.25em; font-style: italic; }

然后在非订阅通知电子邮件中,所有内容都作为内联样式正确添加。

不幸的是,对于默认订阅,CSS 被输出到页面,如下所示:

https://screencast.com/t/J7B8utYqs

为了解决这个问题,我只是禁用了正在应用的样式,因为只要包含信息,它就不会对邮件的外观产生重大影响。

我希望这能提供足够的信息来帮助我查看正确的区域。

就个人而言,无论如何我都不喜欢这样使用它,但是您是否尝试过将CSS设置为变量然后将其包含在echo中?这并不是说回声被忽略了,而是包含根本没有回显,它完全按照它在锡上所说的去做,包括文件。

尝试:

$css = file_get_contents('resources/tribe-attendee-meta-table.css');
echo "<style>" . $css . "</style>";

附言我知道有一百万种方法可以编写它,所以语法现在并不重要:)

最新更新