为了账号安全,请及时绑定邮箱和手机立即绑定

“WC_Abstract_Legacy_Order->__get”

“WC_Abstract_Legacy_Order->__get”

PHP
慕勒3428872 2023-08-11 16:36:42
我的函数导致错误 «WC_Abstract_Legacy_Order->__get, wc_doing_it_wrong»。我已经了解了同样的问题,但仍然找不到我的函数中错误调用的位置,请帮助。Woocommerce 4.3。这是函数:add_action( 'init', 'loyal_customer_auto_coupon', 10, 1);function loyal_customer_auto_coupon(){        if ( is_user_logged_in() ) {                $customer = get_current_user_id();        $acf_user = 'user_' . $customer;        $loyal = get_field('loyal_customer_coupon', $acf_user);         if ($loyal == '') {            $all_orders = wc_get_customer_order_count( $customer );            if ( $all_orders > 4 ) {                $args = array(                    'customer_id' => $customer                );                $orders = wc_get_orders($args);                $completed_order_count = 0;                foreach ($orders as $order) {                    if ( $order->status == 'completed' ) {                        if ( $order->total > 14.99 ) {                            $completed_order_count++;                        }                    }                }            }        }    }}
查看完整描述

1 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

由于无法直接访问 WooCommerce 3 对象属性,因此您将使用WC_Order方法。所以在你的代码中,替换

  • $order->status经过 $order->get_status()

  • $order->total经过$order->get_total()

它应该可以解决你的问题。


查看完整回答
反对 回复 2023-08-11
  • 1 回答
  • 0 关注
  • 80 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信