【发布时间】:2019-05-10 21:55:40
【问题描述】:
我在我的主题 functions.php 文件中使用以下代码仅将订单失败的电子邮件发送给客户而不是管理员:
function wc_failed_order_email_to_customer( $recipient, $order ){
return $recipient = $order->billing_email;
}
add_filter( 'woocommerce_email_recipient_failed_order', 'wc_failed_order_email_to_customer', 10, 2 );
而且它有效……
但我在 php 日志文件中收到以下错误:
Error: billing_email was called incorrectly. Order properties should not be accessed directly. Backtrace: require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), do_action('template_redirect'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::do_wc_ajax, do_action('wc_ajax_checkout'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::checkout, WC_Checkout->process_checkout, WC_Checkout->process_order_payment, WC_Braintree\Plugin_Framework\SV_WC_Payment_Gateway_Direct->process_payment, WC_Braintree\Plugin_Framework\SV_WC_Payment_Gateway_Direct->do_transaction, WC_Braintree\Plugin_Framework\SV_WC_Payment_Gateway->do_transaction_failed_result, WC_Braintree\Plugin_Framework\SV_WC_Payment_Gateway->mark_order_as_failed, WC_Order->update_status, WC_Order->save, WC_Order->status_transition, do_action('woocommerce_order_status_pending_to_failed'), WP_Hook->do_action, WP_Hook->apply_filters, WC_Emails::send_transactional_email, do_action_ref_array, WP_Hook->do_action, WP_Hook->apply_filters, WC_Email_Failed_Order->trigger, WC_Email->get_recipient, apply_filters('woocommerce_email_recipient_failed_order'), WP_Hook->apply_filters, wc_failed_order_email_to_customer, WC_Abstract_Legacy_Order->__get, wc_doing_it_wrong. This message was added in version 3.0.
我该如何解决这个错误?
【问题讨论】:
标签: php wordpress woocommerce