WooCommerce电子邮件样式 - 删除默认样式

时间:2014-07-03 21:40:45

标签: php css wordpress hook woocommerce

在生成客户电子邮件时,WooCommmerce定义了一组标记here,并为其应用默认的硬编码样式。

/**
 * style_inline_tags function.
 *
 * @access public
 * @param array $tags
 * @return array
 */
function style_inline_tags($tags) {
    return array_unique( array_merge( $tags, array( 'h1', 'h2', 'h3', 'a', 'img' ) ) );
}

我需要更改此样式以匹配电子邮件的其余部分(ArialLucida Grande),因此我想删除所有此列表,因此获取默认值看。我尝试在插件的文件中删除这些,以确保这是我需要的,并且确定它有效。但是每次更新时,我都必须修补WooCommerce代码。

基于Add hooks for overriding default email inline stylesOverriding email inline styles我正在尝试编写一个过滤器挂钩来从数组中删除这些标记,但我无法使其工作。

这是我添加到主题functions.php

末尾的代码
/**
 * Kill defaults
 **/
add_filter('woocommerce_email_style_inline_tags', 'kill_defaults');

function kill_defaults( $tags ) {
    $tags = array();
    return $tags;
}

1 个答案:

答案 0 :(得分:2)

// WooCommerce Emails - Kill default inline styling

function kill_defaults($tags) {
    return array();
}

add_filter('woocommerce_email_style_inline_tags', 'kill_defaults', 20 );

这很快就执行了,因此后来被插件覆盖了。将优先级参数20添加到add_filter函数似乎已修复它。