本文整理汇总了PHP中WC_Subscriptions_Order::generate_renewal_order方法的典型用法代码示例。如果您正苦于以下问题:PHP WC_Subscriptions_Order::generate_renewal_order方法的具体用法?PHP WC_Subscriptions_Order::generate_renewal_order怎么用?PHP WC_Subscriptions_Order::generate_renewal_order使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WC_Subscriptions_Order
的用法示例。
在下文中一共展示了WC_Subscriptions_Order::generate_renewal_order方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: process_subscription_payment_failure
/**
* Expires a single subscription on a users account.
*
* @param $user_id int The id of the user who owns the expiring subscription.
* @param $subscription_key string A subscription key of the form obtained by @see get_subscription_key( $order_id, $product_id )
* @since 1.0
*/
public static function process_subscription_payment_failure($user_id, $subscription_key)
{
// Store a record of the subscription payment date
$subscription = self::get_users_subscription($user_id, $subscription_key);
$subscription['failed_payments'] = $subscription['failed_payments']++;
self::update_users_subscriptions($user_id, array($subscription_key => $subscription));
$order = new WC_Order($subscription['order_id']);
// We've reached the maximum failed payments allowed on the subscription
if ($subscription['failed_payments'] >= get_option(WC_Subscriptions_Admin::$option_prefix . '_max_failed_payments')) {
self::cancel_subscription($user_id, $subscription_key);
$order->cancel_order(__('Maximum number of failed payments reached.', WC_Subscriptions::$text_domain));
if ('yes' == get_option(WC_Subscriptions_Admin::$option_prefix . '_generate_renewal_order')) {
WC_Subscriptions_Order::generate_renewal_order($subscription['order_id'], $subscription['product_id']);
}
} else {
// Log payment failure on order
$order->add_order_note(sprintf(__('Payment failed for subscription %s', WC_Subscriptions::$text_domain), $subscription_key));
}
do_action('processed_subscription_payment_failure', $user_id, $subscription_key);
}