如何自定义 WooCommerce 无库存通知电子邮件

How customize WooCommerce no stock notification email

请尝试自定义当产品缺货时自动从 WooCommerce 发送给管理员的电子邮件。我检查了 WooCommerce 相关设置,它不在电子邮件分流器中。

有没有办法自定义标题,body 和来自?

您可以自定义 WooCommerce 缺货通知电子邮件,如下所示:

1).更改或添加收件人 - woocommerce_email_recipient_no_stock 过滤器挂钩:

代码示例:


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

You will need to replace $order by $product and to use WC_Product methods instead to avoid errors.


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).自定义来源:

参见:

无法定位无库存电子邮件通知。


All available filter hooks are located on WC_Emails Class no_stock() method

Note: Never use $this variable, replace it by $emails adding in your code at the beginning:

$emails = WC()->mailer; 

or

$emails = new WC_Emails();