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

问题描述

请记住,自定义产品缺货后从WooCommerce自动发送给管理员的电子邮件。我检查了WooCommerce相关设置,但它不在电子邮件点击中。

是否可以自定义标题,正文和来源?

解决方法

您可以按以下方式自定义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.',get_bloginfo( 'charset' ) ) 
    );
}

代码进入活动子主题(或活动主题)的functions.php文件中。应该可以。


4)。自定义来源:

请参阅:Change sender name and email address for specific WooCommerce email notifications

不可能没有股票电子邮件通知。


所有可用的过滤器挂钩均位于WC_Emails Class no_stock() method上……

注意:切勿使用$this变量,将其替换为$emails,并在开头添加代码:

$emails = WC()->mailer; 

$emails = new WC_Emails();