在 WooCommerce 中重置密码时过滤发送给客户的电子邮件的主题和消息

Filter the subject and message for email sent to the customer when they reset their password in WooCommerce

经过长时间的搜索,我找不到一个钩子来过滤当客户在 WooCommerce 中重置密码时发送给客户的电子邮件的主题和消息。 有那个吗?

我需要从默认的 Password Reset Request for {site_title} 主题中删除(或替换)网站标题,消息也是如此,但不涉及模板。

我找到了 WC_Email_Customer_Reset_Password class,但我在那里没有看到过滤器。

在@7uc1f3r 的帮助下,我找到了解决问题的方法。对于电子邮件主题,我使用了 woocommerce_email_subject_customer_reset_password 过滤器,对于电子邮件内容,我使用了 woocommerce_mail_content 过滤器,您都可以找到 here and here.

/** Filter the subject of reset password email notification **/
add_filter( 'woocommerce_email_subject_customer_reset_password', function( $subject ) {
    // woocommerce_mail_content will fire only on customer password reset
    add_filter( 'woocommerce_mail_content', 'wc_retrieve_password_message' );
    $subject = 'Password Reset Request';
    return $subject;
} );

/** Filter the content of reset password email notification **/
function wc_retrieve_password_message( $message ) {
    $blogname = get_option( 'blogname' );
    if( str_contains( $message, $blogname ) ) {
        $message = str_replace( $blogname, home_url(), $message );
    }

    return $message;
}