Хук woocommerce_order_status_completed не срабатывает

13 февр. 2014 г., 09:04:36
Просмотры: 14.3K
Голосов: 1

Я разрабатываю расширение для WooCommerce, где мне нужно выполнять определенные действия после успешного завершения заказа. Для этого я начал писать код. Я использовал следующий код в конструкторе своего класса:

add_action('woocommerce_order_status_completed', array(&$this, 'insert_points'));

Затем я определил функцию следующим образом:

public function insert_points($order_id)
{
   global $woocommerce, $table_prefix;
   $order = new WC_Order($order_id);
   var_dump($order);
}

Но это не работает. Может кто-нибудь помочь с примером кода?

2
Комментарии

Используйте простые кавычки ', а не фигурные.

fuxia fuxia
13 февр. 2014 г. 15:11:13

Я бы сказал, что этот вопрос не является оффтопиком, он специфичен для WordPress, не является общим, и WooCommerce — это не сторонний плагин.

Mister Woyng Mister Woyng
24 нояб. 2022 г. 10:33:45
Все ответы на вопрос 1
5

Может, попробуйте это

add_action(‘woocommerce_order_status_completed’,array(&$this,’insert_points’),10,1);

У add_action есть последний аргумент, который указывает, сколько аргументов передать в функцию хука.

13 февр. 2014 г. 09:10:39
Комментарии

Нет, это не работает. :( Есть ли какое-то другое решение??

Jaykumar Patil Jaykumar Patil
13 февр. 2014 г. 09:15:30

@JaykumarPatil "woocommerce_payment_complete" также является подходящим хуком.

Rajeev Vyas Rajeev Vyas
13 февр. 2014 г. 09:24:17

Это всё ещё не работает, и мне нужно, чтобы код выполнялся только после изменения статуса.

Jaykumar Patil Jaykumar Patil
13 февр. 2014 г. 11:34:18

Спасибо за вашу поддержку. На самом деле, вместо вывода данных я вставил некоторые значения в базу данных, и это сработало. Благодарю за помощь.

Jaykumar Patil Jaykumar Patil
19 февр. 2014 г. 11:55:49

Я использую этот хук для платежей по картам: woocommerce_order_status_processing_to_completed

nodws nodws
19 февр. 2020 г. 23:32:17