如何将简短的产品说明添加到订购页面和客户的新订单电子邮件中(并更改其字体

时间:2020-05-14 作者:Renier Davila

我想在确认新订单后发送给客户的电子邮件中添加简短的产品描述。

我通过代码片段插件添加了以下内容:

add_filter( \'woocommerce_order_item_name\', \'add_single_excerpt_to_order_item\', 10, 3 );
function add_single_excerpt_to_order_item( $item_name, $item, $is_visible ){
    $product_id = $item->get_product_id(); // Get the product Id
    $excerpt = get_the_excerpt( $product_id ); // Get the short description
    return $item_name . \'<br><p class="item-description">\' . $excerpt ; \'</p>\';
}
通过添加简短描述,它可以正常工作,但现在我想更改字体类型和大小,以匹配电子邮件的其余部分。

你能帮忙吗?

1 个回复
最合适的回答,由SO网友:Tony Djukic 整理而成

我不知道电子邮件其余部分的字体是什么,但如果您可以通过检查其中一封发送的电子邮件来辨别,则需要将样式规则复制到此元素:

return $item_name . \'<br><p class="item-description">\' . $excerpt ; \'</p>\';
由于这是一封电子邮件,您必须依赖用户可用的字体,因此请检查电子邮件并找到要分配的字体,然后按如下方式添加:

return $item_name . \'<br><p class="item-description" style="font-family:WHATEVERTHEFONTIS,Arial,Helvetica,sans-serif;font-size:XXpx;font-weight:XXpx;">\' . $excerpt ; \'</p>\';
但实际上,您最好使用标准WooCommerce覆盖电子邮件模板(我假设这是针对WooCommerce的)主题/子主题中的模板覆盖。

https://docs.woocommerce.com/document/template-structure/

这将使您能够完全控制模板,而不是内联样式将允许您更新实际的<style> 在电子邮件的开头。

相关推荐

如何覆盖/扩展WordPress函数IS_EMAIL

所以wordpress的核心并没有真正更新unicode域的电子邮件许可。即使是像德语umlauts(äÄöÖÜß)这样的简单特殊字符也不允许出现在名称的域部分。因此,我一直在考虑向is\\U电子邮件功能添加一个具有高优先级的过滤器,并简单地返回结果。但它似乎并没有像我预期的那样发挥作用。以下是我尝试过的:// Code written in my themes functions.php function kk_email_validation_override( $email ) {&