На основании информации в документации woocommerce:
https://docs.woocommerce.com/document/subscriptions/develop/action-reference/
Действие: woocommerce_subscription_status_changed
,
Должен срабатывать также при обновлении или понижении подписки — switched
,
Но это работает только в следующих ситуациях:
active, on-hold, cancelled
Вот мой пример кода:
add_action('woocommerce_subscription_status_changed', 'test', 10, 3);
function test( $subscription_id, $old_status, $new_status ) {
global $woocommerce;
$file_content = $subscription_id.' '.$old_status.' '.$new_status;
$filename = '/tmp/test_file.txt';
file_put_contents($filename, $file_content);
}
Приведенный выше код работает, но не когда подписка переключается, у меня вопрос почему?
Для этого вам следует использовать действие woocommerce_subscription_switch_completed.
Других решений пока нет …