保留用户30天后,如何自动重新激活用户订阅?

时间:2019-05-30 07:11:23

标签: php wordpress function woocommerce woocommerce-subscriptions

我在下面有以下代码,我正在努力实现以下目标:

  • 将措词保持更改为暂停(已通过下面的代码完成)
  • 用户登录到其帐户并将其订阅置于“保留”状态。 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);
}

非常感谢您的帮助。

谢谢

0 个答案:

没有答案