Php 允许在WooCommerce 5+;

Php 允许在WooCommerce 5+;,php,wordpress,woocommerce,hook-woocommerce,email-notifications,Php,Wordpress,Woocommerce,Hook Woocommerce,Email Notifications,我一直在使用下面的代码片段,没有任何问题。我想不出有什么原因,它今天被触发了 也许可以写得更好吗 add_action('woocommerce_order_status_completed', 'email_completed_order_admin_notification', 10, 2 ); function email_completed_order_admin_notification( $order_id, $order ) { WC()->mailer()->

我一直在使用下面的代码片段,没有任何问题。我想不出有什么原因,它今天被触发了

也许可以写得更好吗

add_action('woocommerce_order_status_completed', 'email_completed_order_admin_notification', 10, 2 );
function email_completed_order_admin_notification( $order_id, $order ) {
    WC()->mailer()->get_emails()['WC_Email_New_Order']->trigger( $order_id );
}

自WooCommerce 5.0以来,这将禁用重新发送“新订单”电子邮件通知,限制此特定通知仅发送一次

这是添加到
WC\u Email\u New\u Order
trigger()
方法中的内容(默认设置为
false
):

因此,您现在需要添加这段额外的代码,以解锁此通知:

add_filter('woocommerce_new_order_email_allows_resend', '__return_true' );
代码进入活动子主题(或活动主题)的functions.php文件。测试和工作

现在,您的代码将再次工作

我有,作为主钩子参数,默认情况下应该设置为
true
(如注释区所述),并且默认情况下应该允许重新发送新订单通知


也许我没有注意到。我将在WooCommerce插件支持页面上创建该线程。谢谢你的提醒!找到了方法,现在又开始工作了。我打开了一个问题,因为默认情况下主钩子参数应设置为true(如注释区中所述),默认情况下应允许重新发送新订单通知:
add_filter('woocommerce_new_order_email_allows_resend', '__return_true' );