是否可以覆盖 woocommerce 电子邮件中的 WC 挂钩

问题描述 投票:0回答:1

我需要在 WooCommerce 网站的电子邮件中包含自定义数据,即交货日期和时间。

我尝试使用此代码覆盖现有的钩子“woocommerce_email_order_meta”,我暂时将其写入functions.php,然后在其工作时移动到插件文件。

remove_action('woocommerce_email_order_meta', 'woocommerce_email_order_meta', 10, 4);

add_action('woocommerce_email_order_meta', 'custom_email_order_meta', 10, 4);

function custom_email_order_meta($order, $sent_to_admin, $plain_text, $email) {
    echo "Custom Text: This is my custom text.\n";
}

当我测试电子邮件时,会打印自定义文本行。不过,WC Hook 的原始内容也印在下面。 有没有办法完全覆盖 WC 挂钩,我是否必须尝试创建一个新挂钩?如果我创建一个新邮件,它是否会列在电子邮件编辑器中,以便我可以加入?

php wordpress woocommerce hook-woocommerce email-notifications
1个回答
0
投票

您可以尝试两种不同的方法,替换此行代码:

remove_action('woocommerce_email_order_meta', 'woocommerce_email_order_meta', 10, 4);

1)。最好的办法:

add_filter('woocommerce_email_order_meta_fields', '__return_empty_array', 9000);

2)。另一种选择:

remove_action( 'woocommerce_email_order_meta', array( WC()->mailer, 'order_meta' ), 10, 3 );

两者都应该有效。

© www.soinside.com 2019 - 2024. All rights reserved.