ОБНОВЛЕНИЕ
Я обнаружил, что есть небольшая проблема.Если пользователь отменяет платеж, например, в PayPal, он может быть снова перенаправлен на кассу.Теперь предположим, что он повторяет проверку снова.В этом случае ловушка get вызывается во второй раз, что может быть проблематично.Итак, я реализовал себе payment_counter
:
add_action ('woocommerce_checkout_order_processed', 'order_status_changed_clbk');function order_status_changed_clbk ($ order_id) {$ payment_counter = (int) get_post_meta ($ order_id, payment_counter ', true);
if ( empty( $payment_counter ) ) {
update_post_meta( $order_id, 'payment_counter', 1 );
error_log( 'Function works!' ); //Get's called only once
} else {
update_post_meta( $order_id, 'payment_counter', ++ $payment_counter ); //Cool thing for statistics maybe, but not really needed
}
}
Возможно, этот хук работает для вас:
function order_status_changed_clbk( $order_id ){
error_log( 'Function works!' );
}
add_action( 'woocommerce_checkout_order_processed', 'order_status_changed_clbk' );
Я использую его в своем плагине.Если заказ обрабатывается, он также «находится на рассмотрении», поэтому, возможно, это решение, которое вы ищете.
Попробуйте его и проверьте в debug.log Function works!
.