Доступ к Woocommerce WC()->данным корзины в admin_post_{$action} в Wordpress ⇐ Php
-
Anonymous
Доступ к Woocommerce WC()->данным корзины в admin_post_{$action} в Wordpress
Я пытаюсь вручную обработать форму оформления заказа на сайте Wordpress с помощью функций Woocommerce.
В идеале, когда пользователь публикует форму оформления заказа, я хотел бы обработать введенные пользователем данные на серверной стороне, и если они в порядке, я передам их платежному шлюзу и вернусь к специальному благодарственному ответу. страница. Но похоже, что когда мы получаем данные формы в серверной части, WC() недоступен.
Я нашел здесь аналогичный случай, но они не нашли решения и остановились на Ajax. К сожалению, Ajax не может перенаправить страницу, поэтому в моем случае это не поможет. Я могу придумать два возможных решения: 1) инициализировать WC вручную, 2) передать объект WC() функции, в которой я хочу получить доступ к свойствам cars().
Вот наш упрощенный код:
Страница оформления заказа:
functions.php:
add_action('admin_post_the_paid', 'pay_function'); add_action('admin_post_nopriv_the_paid', 'pay_function'); функция платежа_функция() { $total = Туалет()->корзина->get_cart_contents_total(); //возвращает: Неустранимая ошибка: Необнаруженная ошибка: Вызов функции-члена get_cart_contents_total() при нулевом значении в... }
Я пытаюсь вручную обработать форму оформления заказа на сайте Wordpress с помощью функций Woocommerce.
В идеале, когда пользователь публикует форму оформления заказа, я хотел бы обработать введенные пользователем данные на серверной стороне, и если они в порядке, я передам их платежному шлюзу и вернусь к специальному благодарственному ответу. страница. Но похоже, что когда мы получаем данные формы в серверной части, WC() недоступен.
Я нашел здесь аналогичный случай, но они не нашли решения и остановились на Ajax. К сожалению, Ajax не может перенаправить страницу, поэтому в моем случае это не поможет. Я могу придумать два возможных решения: 1) инициализировать WC вручную, 2) передать объект WC() функции, в которой я хочу получить доступ к свойствам cars().
Вот наш упрощенный код:
Страница оформления заказа:
functions.php:
add_action('admin_post_the_paid', 'pay_function'); add_action('admin_post_nopriv_the_paid', 'pay_function'); функция платежа_функция() { $total = Туалет()->корзина->get_cart_contents_total(); //возвращает: Неустранимая ошибка: Необнаруженная ошибка: Вызов функции-члена get_cart_contents_total() при нулевом значении в... }
Мобильная версия