【问题标题】:Allow re-sending New Order Notification in WooCommerce 5+允许在 WooCommerce 5+ 中重新发送新订单通知
【发布时间】:2021-06-10 17:28:33
【问题描述】:

我一直在使用以下 sn-p 没有任何问题。没想到今天它已经停止触发了。

能不能写得更好?

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 插件支持页面上创建线程。感谢您的提醒!
  • 找到了方法,现在又回来了。
  • 我已经打开了一个问题,因为 main hook 参数应该默认设置为 true(如评论区所述),默认情况下应该允许重新发送新订单通知:github.com/woocommerce/woocommerce/issues/29367

标签: php wordpress woocommerce hook-woocommerce email-notifications


【解决方案1】:

自 WooCommerce 5.0 a new filter hook has been added 起,禁用重新发送“新订单”电子邮件通知,限制此特定通知仅发送一次。

这是已添加到WC_Email_New_Order trigger() 方法的内容(默认设置为false

/**
 * Controls if new order emails can be resend multiple times.
 *
 * @since 5.0.0
 * @param bool $allows Defaults to true.
 */
if ( 'true' === $email_already_sent && ! apply_filters( 'woocommerce_new_order_email_allows_resend', false ) ) {
    return;
}

所以你现在需要添加这段额外的代码来解锁这个通知:

add_filter('woocommerce_new_order_email_allows_resend', '__return_true' );

代码位于活动子主题(或活动主题)的functions.php 文件中。经过测试并且可以工作。

现在您的代码将再次运行。

我有opened an issue on WooCommerce Github,因为主钩子参数默认应设置为true(如评论区所述),默认情况下应允许重新发送新订单通知。

【讨论】:

  • 上述问题已关闭,行为没有改变。 WooCommerce 工作人员确认,只向客户发送一次通知电子邮件是预期行为。
猜你喜欢
  • 1970-01-01
  • 2020-09-22
  • 2021-02-12
  • 1970-01-01
  • 2017-04-20
  • 2018-10-24
  • 2018-05-12
  • 2019-06-10
  • 1970-01-01
相关资源
最近更新 更多