当前位置: 首页>>代码示例>>PHP>>正文


PHP WC_Subscriptions_Manager::update_subscription方法代码示例

本文整理汇总了PHP中WC_Subscriptions_Manager::update_subscription方法的典型用法代码示例。如果您正苦于以下问题:PHP WC_Subscriptions_Manager::update_subscription方法的具体用法?PHP WC_Subscriptions_Manager::update_subscription怎么用?PHP WC_Subscriptions_Manager::update_subscription使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在WC_Subscriptions_Manager的用法示例。


在下文中一共展示了WC_Subscriptions_Manager::update_subscription方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: maybe_complete_switch

 /**
  * After payment is completed on an order for switching a subscription, complete the switch.
  *
  * @param WC_Order|int $order A WC_Order object or ID of a WC_Order order.
  * @since 1.4
  */
 public static function maybe_complete_switch($order_id)
 {
     $original_subscription_key = get_post_meta($order_id, '_switched_subscription_key', true);
     if (!empty($original_subscription_key)) {
         $original_subscription = WC_Subscriptions_Manager::get_subscription($original_subscription_key);
         $original_order = new WC_Order($original_subscription['order_id']);
         if ('switched' !== $original_subscription['status']) {
             // Don't send "Cancelled Subscription" email to admins
             remove_action('cancelled_subscription', 'WC_Subscriptions_Email::send_subscription_email', 10, 2);
             // Cancel the existing subscription
             WC_Subscriptions_Manager::cancel_subscription($original_order->customer_user, $original_subscription_key);
             add_action('cancelled_subscription', 'WC_Subscriptions_Email::send_subscription_email', 10, 2);
             // Now set a custom status of "switched"
             $original_subscription['status'] = 'switched';
             WC_Subscriptions_Manager::update_subscription($original_subscription_key, $original_subscription);
             wp_clear_scheduled_hook('scheduled_subscription_end_of_prepaid_term', array('user_id' => (int) $original_order->customer_user, 'subscription_key' => $original_subscription_key));
         }
     }
 }
开发者ID:jgabrielfreitas,项目名称:MultipagosTestesAPP,代码行数:25,代码来源:class-wc-subscriptions-switcher.php

示例2: maybe_record_order_payment

 /**
  * Records the initial payment against a subscription.
  *
  * This function is called when a gateway calls @see WC_Order::payment_complete() and payment
  * is completed on an order. It is also called when an orders status is changed to completed or
  * processing for those gateways which never call @see WC_Order::payment_complete(), like the
  * core WooCommerce Cheque and Bank Transfer gateways.
  *
  * It will also set the start date on the subscription to the time the payment is completed.
  *
  * @param WC_Order|int $order A WC_Order object or ID of a WC_Order order.
  * @since 1.1.2
  */
 public static function maybe_record_order_payment($order)
 {
     if (!is_object($order)) {
         $order = new WC_Order($order);
     }
     $subscriptions_in_order = self::get_recurring_items($order);
     foreach ($subscriptions_in_order as $subscription_item) {
         $subscription_key = WC_Subscriptions_Manager::get_subscription_key($order->id, self::get_items_product_id($subscription_item));
         $subscription = WC_Subscriptions_Manager::get_subscription($subscription_key);
         // No payments have been recorded yet
         if (empty($subscription['completed_payments'])) {
             // Don't duplicate orders
             remove_action('processed_subscription_payment', 'WC_Subscriptions_Renewal_Order::generate_paid_renewal_order', 10, 2);
             WC_Subscriptions_Manager::update_subscription($subscription_key, array('start_date' => gmdate('Y-m-d H:i:s')));
             WC_Subscriptions_Manager::process_subscription_payments_on_order($order->id);
             WC_Subscriptions_Manager::safeguard_scheduled_payments($order->customer_user, $subscription_key);
             // Make sure orders are still generated for other payments in the same request
             add_action('processed_subscription_payment', 'WC_Subscriptions_Renewal_Order::generate_paid_renewal_order', 10, 2);
         }
     }
 }
开发者ID:akshayxhtmljunkies,项目名称:brownglock,代码行数:34,代码来源:class-wc-subscriptions-order.php


注:本文中的WC_Subscriptions_Manager::update_subscription方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。