【发布时间】:2021-01-20 19:33:04
【问题描述】:
如果产品缺货,请尝试自定义从 WooCommerce 自动发送给管理员的电子邮件。我检查了 WooCommerce 相关设置,它不在电子邮件点击中。
有没有办法自定义标题、正文和出处?
【问题讨论】:
标签: php wordpress woocommerce stock email-notifications
如果产品缺货,请尝试自定义从 WooCommerce 自动发送给管理员的电子邮件。我检查了 WooCommerce 相关设置,它不在电子邮件点击中。
有没有办法自定义标题、正文和出处?
【问题讨论】:
标签: php wordpress woocommerce stock email-notifications
您可以按如下方式自定义 WooCommerce 缺货通知电子邮件:
1)。更改或添加收件人 - woocommerce_email_recipient_no_stock 过滤钩子:
代码示例:Change stock email notifications recipient in WooCommerce
2)。更改电子邮件主题 - woocommerce_email_subject_no_stock 过滤钩:
原始主题代码为(位于WC_Emails Class no_stock() method):
$subject = sprintf( '[%s] %s', $this->get_blogname(), __( 'Product out of stock', 'woocommerce' ) );
代码示例:Customizing email subject with dynamic data in Woocommerce
您需要将
$order替换为$product并改用WC_Product方法以避免错误。
3)。更改电子邮件内容 - woocommerce_email_content_no_stock 过滤钩子:
原始内容代码为(位于WC_Emails Class no_stock() method):
$message = sprintf(
__( '%s is out of stock.', 'woocommerce' ),
html_entity_decode( wp_strip_all_tags( $product->get_formatted_name() ), ENT_QUOTES, get_bloginfo( 'charset' ) )
);
所以你可以使用类似的东西来改变它:
add_filter( 'woocommerce_email_content_no_stock', 'custom_email_content_no_stock', 20, 2 );
function custom_email_content_no_stock( $content, $product ){
return sprintf(
__( 'The product "%s" is actually out of stock.', 'woocommerce' ),
html_entity_decode( wp_strip_all_tags( $product->get_formatted_name() ), ENT_QUOTES, get_bloginfo( 'charset' ) )
);
}
代码进入活动子主题(或活动主题)的functions.php 文件中。它应该可以工作。
4)。自定义来源:
见:Change sender name and email address for specific WooCommerce email notifications
无法定位无库存电子邮件通知。
所有可用的过滤器挂钩都位于
WC_EmailsClassno_stock()method...注意:永远不要使用
$this变量,将其替换为$emails,在您的代码开头添加:$emails = WC()->mailer;或
$emails = new WC_Emails();
【讨论】: