“WC_Abstract_Legacy_Order->__get”

我的函数导致错误 «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++;

                        }

                    }

                }

            }

        }

    }

}


慕勒3428872
浏览 88回答 1
1回答

杨__羊羊

由于无法直接访问 WooCommerce 3 对象属性,因此您将使用WC_Order方法。所以在你的代码中,替换$order->status经过 $order->get_status()$order->total经过$order->get_total()它应该可以解决你的问题。
打开App,查看更多内容
随时随地看视频慕课网APP