如何修改WooCommerce邮件标题以插入展示产品短描述
WooCommerce 邮件标题插入产品短描述实现方法
核心调整逻辑
你原来用的printf函数会直接输出字符串,而邮件标题需要赋值给$this->subject属性,所以要改用返回拼接后字符串的sprintf函数,同时保留WooCommerce内置的{site_title}占位符(该占位符会在邮件发送时自动替换为站点名称,无需额外处理)。
调整后的代码示例
如果你想要将产品短描述放在标题最前方,格式为「[产品短描述] Bid item on [站点名称]」,可以直接替换原有代码为:
$this->subject = sprintf( __( '%s Bid item on {site_title}', 'wc_simple_auctions' ), wp_strip_all_tags( $product_data->get_short_description() ) );
代码说明:
- 这里额外加了
wp_strip_all_tags()函数,是为了移除产品短描述里的HTML标签,避免邮件标题出现代码片段,如果你确认短描述没有HTML内容可以去掉这个函数。 - 你可以根据需求调整翻译字符串里
%s的位置,把产品短描述放到标题的任意位置,比如放到后面就写成:
$this->subject = sprintf( __( 'Bid item on {site_title}: %s', 'wc_simple_auctions' ), wp_strip_all_tags( $product_data->get_short_description() ) );
可选优化:限制短描述长度
如果担心产品短描述太长导致邮件标题冗余,可以用WordPress内置的wp_trim_words()函数截断内容,比如只保留8个汉字/词:
$trimmed_desc = wp_trim_words( $product_data->get_short_description(), 8, '...' ); $this->subject = sprintf( __( 'Bid item on {site_title}: %s', 'wc_simple_auctions' ), wp_strip_all_tags( $trimmed_desc ) );
内容的提问来源于stack exchange,提问作者md sobuz
相关产品推荐
相关产品推荐

