本文整理匯總了PHP中WC_Subscriptions_Order::get_item方法的典型用法代碼示例。如果您正苦於以下問題:PHP WC_Subscriptions_Order::get_item方法的具體用法?PHP WC_Subscriptions_Order::get_item怎麽用?PHP WC_Subscriptions_Order::get_item使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類WC_Subscriptions_Order
的用法示例。
在下文中一共展示了WC_Subscriptions_Order::get_item方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的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);
if (!isset($subscription['failed_payments'])) {
$subscription['failed_payments'] = 0;
}
$subscription['failed_payments'] = $subscription['failed_payments'] + 1;
self::update_users_subscriptions($user_id, array($subscription_key => $subscription));
$order = new WC_Order($subscription['order_id']);
$item = WC_Subscriptions_Order::get_item($order, $subscription['product_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->add_order_note(sprintf(__('Cancelled Subscription "%s". Maximum number of failed subscription payments reached.', WC_Subscriptions::$text_domain), $item['name']));
if ('yes' == get_option(WC_Subscriptions_Admin::$option_prefix . '_generate_renewal_order')) {
$renewal_order_id = WC_Subscriptions_Renewal_Order::generate_renewal_order($order, $subscription['product_id'], 'parent');
}
} else {
// Log payment failure on order
$order->add_order_note(sprintf(__('Payment failed for subscription "%s".', WC_Subscriptions::$text_domain), $item['name']));
}
do_action('processed_subscription_payment_failure', $user_id, $subscription_key);
}
示例2: suspend_subscription_with_paypal
/**
* When a store manager or user suspends a subscription in the store, also suspend the subscription with PayPal.
*
* @since 1.1
*/
public static function suspend_subscription_with_paypal($order, $product_id)
{
$profile_id = self::get_subscriptions_paypal_id($order, $product_id);
// Make sure a subscriptions status is active with PayPal
$response = self::change_subscription_status($profile_id, 'Suspend');
if (isset($response['ACK']) && $response['ACK'] == 'Success') {
$item = WC_Subscriptions_Order::get_item($order, $product_id);
$order->add_order_note(sprintf(__('Subscription "%s" suspended with PayPal', WC_Subscriptions::$text_domain), $item['name']));
}
}