Как я могу автоматически повторно активировать подписку пользователей через 30 дней после ее приостановки? - PullRequest
0 голосов
/ 30 мая 2019

У меня есть следующий код ниже, и я пытаюсь достичь следующих целей:

  • Измените удержание формулировки на паузу (это было выполнено из кода ниже)
  • Как только пользователь входит в свою учетную запись и переводит свою подписку в режим ожидания. Через 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);
}

Любая помощь очень ценится.

Спасибо

...