我只想为我的管理员更改新订单通知的标题表设计。客户电子邮件应该不受影响。我的代码如下,但它似乎不想工作。任何帮助将不胜感激。
add_filter( 'woocommerce_email_styles', 'add_css_to_new_order_email', 9999, 2 );
function add_css_to_new_order_email( $css, $email ) {
if ( $email->id == 'new_order' && $email->recipient == 'admin' ) {
$css .= '
#header_wrapper { background-color: #000!important; }
h1 { color: #000!important; }
';
}
return $css;
}
在您的
IF
声明中,$email->recipient == 'admin'
将始终为 false
,因为您需要定义真正的管理员电子邮件。
由于新订单电子邮件通知始终仅发送给管理员(但不发送给客户),因此您的
$email->recipient == 'admin'
声明中不需要IF
。
尝试以下操作:
add_filter( 'woocommerce_email_styles', 'add_css_to_new_order_email', 20, 2 );
function add_css_to_new_order_email( $css, $email ) {
if ($email->id === 'new_order') {
$css .= ' #header_wrapper { background-color: #000 !important; }
h1 { color: #000 !important; }';
}
return $css;
}
代码位于子主题的functions.php 文件中(或插件中)。已测试并有效。