我正在使用许多相关的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>";
附言我知道有一百万种方法可以编写它,所以语法现在并不重要:)