当前位置: 首页 > 知识库问答 >
问题:

如何避免在WooCommerce电子邮件模板中插入样式

司马飞鸿
2023-03-14

模板中有一些HTML元素,例如模板/电子邮件/电子邮件标题。php第41行表#模板_容器,没有内联样式:

<table border="0" cellpadding="0" cellspacing="0" width="600" id="template_container">

但当它在前端渲染时,它会以许多内联样式出现:

<table border="0" cellpadding="0" cellspacing="0" width="600" id="template_container"
style="background-color: #ffffff; border: 1px solid #dedede; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); border-radius: 3px;">

如何以及在哪里进行这种风格的注射?

如何避免这种风格的注射?

我想在模板中编写自己的内联样式。做这件事的正确方法是什么?

我注意到,一些注入,比如上面的例子,取决于元素的ID,所以我可以删除它们的ID,但其他情况下是可变的,比如模板/电子邮件/电子邮件头。php第48行:

<h1><?php echo $email_heading; ?></h1>

它被呈现为:

<h1 style="font-family: &quot;Helvetica Neue&quot;, Helvetica, Roboto, Arial, sans-serif; font-size: 30px; font-weight: 300; line-height: 150%; margin: 0; text-align: left; text-shadow: 0 1px 0 #ffffff; color: #202020; background-color: inherit;">HTML email template</h1>

感谢您的帮助。非常感谢。

共有1个答案

滕星纬
2023-03-14

1) 可以在templates/email/email styles中找到来自#template_container的样式注入。php第58-63行@version 4.0.0。

#template_container {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1) !important;
    background-color: <?php echo esc_attr( $body ); ?>;
    border: 1px solid <?php echo esc_attr( $bg_darker_10 ); ?>;
    border-radius: 3px !important;
}

2) 调用模板文件时传递$email_heading,请参阅includes/class wc emails。php第263-270行@2.3.0版

/**
 * Get the email header.
 *
 * @param mixed $email_heading Heading for the email.
 */
public function email_header( $email_heading ) {
    wc_get_template( 'emails/email-header.php', array( 'email_heading' => $email_heading ) );
}

然而,样式注入也通过模板/电子邮件/在行176-185@version 4.0.0上的email-styles.php进行

h1 {
    color: <?php echo esc_attr( $base ); ?>;
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 30px;
    font-weight: 300;
    line-height: 150%;
    margin: 0;
    text-align: <?php echo is_rtl() ? 'right' : 'left'; ?>;
    text-shadow: 0 1px 0 <?php echo esc_attr( $base_lighter_20 ); ?>;
}

所以要回答你的问题:

如果要应用自己的样式,或要修改现有样式。您必须覆盖模板文件。可以通过将模板文件复制到yourtheme/woocommerce/emails/email styles来覆盖模板文件。php

另请参阅:模板结构

 类似资料:
  • 我试图自定义我的Woocommerce电子邮件,我已经为它创建了一个html模板,它已经可以工作了。 我的问题是,它没有显示像这样的WooCommerce变量: 这样 或者这样 我总是这样说: 下面是HTML代码的一个片段: 所以它是一个普通的html文件,在我需要它们的地方带有这个php变量。我把html文件放进了Woocommerce 我是否必须将其全部打包到一个php文件中,或者如何让变量如

  • 我知道Firebase不允许您使用第三方电子邮件服务发送电子邮件。所以唯一的方法是通过Gmail发送。 所以我在互联网上搜索了一些方法,这里有一个片段可以让我免费发送电子邮件。 我想创建一个模板,所以我在nodemailer中使用了这个名为的包。但是该函数不会在Firebase控制台中执行,也不会显示错误并显示与“计费”相关的警告。

  • 问题内容: 我在我的网站上显示电子邮件如下 但是我在使用woorank.com分析我的网站时阅读了以下内容,应如何做才能避免这种情况? 恶意漫游器会在网上搜寻电子邮件地址,纯文本电子邮件地址更容易被垃圾邮件发送。 问题答案: 在网站上隐藏电子邮件有多种选择,通常使用电子邮件地址的HTML实体版本(如Aziz-Saleh所建议的那样),但是从实际的网页 设计 角度来看,只需将类似的电子邮件地址放在网

  • 我已经做了大量的搜索,尽管我发现有用户询问如何实现以下目标,但在我的知识范围内没有工作解决方案的例子。 问题是关于非常流行的Wordpress插件“Woocommerce”。该插件附带了一个电子邮件系统,使电子商务网站所有者和客户的生活更加轻松。一个问题是,当商店经理将订单状态更改为“已退款”时,没有发送电子邮件。有人说这是因为它是一个手工过程。这是真的,这是一个过程,店主将通过那里的商户帐户或贝

  • 我有一个spring mvc应用程序,我试图将日期LocalDate呈现为字符串,对于普通视图,它可以工作,但对于电子邮件,它不工作,并抛出以下错误: 原因:org.springframework.core.convert.converterNotFoundException:找不到能够从[java.time.localdate]类型转换为[java.lang.string]类型的转换器 代码: