У меня есть следующий код ниже, и я пытаюсь достичь следующих целей:
- Измените удержание формулировки на паузу (это было выполнено из кода ниже)
- Как только пользователь входит в свою учетную запись и переводит свою подписку в режим ожидания. Через 30 дней мне нужно, чтобы их подписка автоматически вернулась к статусу «Активна» и чтобы ежемесячные платежи продолжались.
Я использую плагин woocommerce для подписок.
Ниже приведено то, что у меня есть, но оно не работает полностью. Для некоторых пользователей, которые приостановили свою подписку, прошло более месяца, и они не были автоматически повторно активированы, поэтому я надеюсь исправить справка по переполнению стека:)
add_filter( 'wcs_view_subscription_actions', 'wpse_custom_action_after', 11, 2 );
function wpse_custom_action_after( $actions, $subscription ) {
if (!empty($actions['suspend'])) {
$date = strtotime('+1 months');
$subscription_renew_date = date('Y-m-d', $date);
$actions['suspend']['url'] = $actions['suspend']['url'].'&suspend_end_date='.$subscription_renew_date;
$actions['suspend']['name'] = 'Pause';
}
return $actions;
}
add_action('woocommerce_customer_changed_subscription_to_on-hold','add_suspend_date_when_subscription_onhold');
function add_suspend_date_when_subscription_onhold($subscription) {
// print_r();exit();
$subscription_id = $subscription->get_id();
$date = strtotime('+1 months');
$subscription_renew_date = date('Y-m-d', $date);
update_post_meta($subscription_id, 'suspend_date',$subscription_renew_date);
}
Любая помощь очень ценится.
Спасибо