在WooCommerce中,有一个公共静态类WC_Emails
,定义见/woocommerce/includes/class-wc-emails.php
。从'woocommerce_email_customer_details'钩子中删除'email_addresses'动作
在该类中,有一个对称为woocommerce_email_customer_details
的钩子的引用。为此,分配了一个名为email_addresses
的操作,该操作仅仅是一个PHP文件,该文件生成一些用于计费和送货地址的HTML以添加到电子邮件通知中。
add_action('woocommerce_email_customer_details', array($this, 'email_addresses'), 20, 3);
我试图删除该操作,但似乎无法弄清楚如何操作。
这里是代码的例子位我的孩子主题的functions.php
不起作用:
add_action('init', 'remove_default_addresses');
function remove_default_addresses() {
remove_action('woocommerce_email_customer_details',
array('WC_Emails', 'email_addresses'), 20);
}
取而代之的是init
钩的存在,我已经试过wp-head
。由于WC_Emails
是一个静态函数,上面的代码是WordPress Codex建议的方式,就使用上面的array()
而言,而不仅仅是操作名称。无论如何,这是不行的,或者(只有动作的名称):
add_action('init', 'remove_default_addresses');
function remove_default_addresses() {
remove_action('woocommerce_email_customer_details', 'email_addresses', 20);
}
20
是在add_action
佑优先呢,我也明白,一个remove_action()
必须具有相同的优先级是什么原add_action()
了。
无论我尝试什么,帐单和送货地址仍会出现在电子邮件通知中。
一旦获得工作,这将是伟大的!然而,还有一个额外的要求:这只需要在Woo的woocommerce_order_status_pending_to_processing_notification
钩子的代码中出现。
换言之,我有火灾,并产生当来自待到处理订单状态改变(和我曾尝试我上面的代码与它的该钩内的所有变化也一样)的电子邮件的其他代码。我需要帐单和送货地址才不会显示在生成的自定义电子邮件中。
任何想法?非常感谢。 :)
请,你就可以开始你的问题告诉你想要的首次明确(可能是一个明确的截屏),因为我不真正理解你真正想要什么,以及你想要做什么。对不起......谢谢 – LoicTheAztec
谢谢@LoicTheAztec。基本上,它将从电子邮件通知中删除运费和帐单地址。我想,不需要截图。 :) –