Помогите разобраться в ошибке: Call to a member function get_checkout_order_received_url() on int

Помогите пожалуйста разобраться в проблеме. Сайт на ВП, установлен woocommerce + плагин Freekassa для оплаты товаров. В процессе заказа при успешной оплате клиента кидает на https://сайтстоваром.ru/?wc-api=wc_freekassa&freekassa=success. На этой странице получат ошибку введите сюда описание изображения

Вот кусок кода, на который указывает ошибка

public function get_return_url( $order = null ) {
        if ( $order ) {
            $return_url = $order->get_checkout_order_received_url();
        } else {
            $return_url = wc_get_endpoint_url( 'order-received', '', wc_get_checkout_url() );
        }

        return apply_filters( 'woocommerce_get_return_url', $return_url, $order );
    }

Пожалуйста, помогите, хотя бы намёк


Ответы (1 шт):

Автор решения: KAGG Design

Ошибка говорит о том, что у вас $order является целым числом, а не объектом типа WC_Order. Видимо, в функцию прилетает id заказа.

Используйте такую строчку для получения объекта заказа:

$order_obj = new WC_Order( $order );

и вставьте её перед

$return_url = $order_obj->get_checkout_order_received_url();
→ Ссылка