Build It

404, ) ); } $user_id = $user->ID; if( !function_exists(‘pmpro_getMembershipLevelForUser’) || !function_exists(‘pmpro_changeMembershipLevel’) ) { AppPresser_Logger::log( ‘Cannot add to membership level because PMPro plugin is not active.’, $user_email ); return new WP_Error( ‘rest_plugin_error’, __( ‘PMPro plugin not active.’, ‘apppresser’ ), array( ‘status’ => 404, ) ); } // is user already subscribed and active? If so, skip $user_membership_level = pmpro_getMembershipLevelForUser( $user_id ); if( is_object( $user_membership_level ) ) { $user_membership_level = $user_membership_level->ID; } if( $user_membership_level == self::$membership_level_id ) { $membership_success = self::$membership_level_id; AppPresser_Logger::log( ‘User ‘ . $user_id . ‘ purchased but is already active on membership level.’, self::$membership_level_id ); } elseif( !$user_membership_level || $user_membership_level != self::$membership_level_id ) { // add user to level //figure out start date $now = current_time(‘timestamp’); $startdate = date(“Y-m-d”, $now); $custom_level = array( ‘user_id’ => $user_id, ‘membership_id’ => self::$membership_level_id, ‘code_id’ => ”, ‘initial_payment’ => ‘1.00’, ‘billing_amount’ => ”, ‘cycle_number’ => ”, ‘cycle_period’ => ”, ‘billing_limit’ => ”, ‘trial_amount’ => ”, ‘trial_limit’ => ”, ‘startdate’ => $startdate, ‘enddate’ => ” ); $change = pmpro_changeMembershipLevel( $custom_level, $user_id ); if( $change ) { AppPresser_Logger::log( ‘User ‘ . $user_id . ‘ added to membership level.’, self::$membership_level_id ); } else { AppPresser_Logger::log( ‘User ‘ . $user_id . ‘ not added to membership level, unknown error.’, serialize( $change ) ); } } } /* * This function is called when a membership is cancelled. * A user can always click “restore membership” if their membership is cancelled in error. */ public function cancel_membership( $user_email, $purchase, $request ) { $user = get_user_by( ’email’, $user_email ); if( !$user || is_wp_error( $user ) ) { AppPresser_Logger::log( ‘Cannot cancel membership because user does not exist.’, $user_email ); return new WP_Error( ‘rest_user_error’, __( ‘Cannot cancel membership, because cannot get user for ‘ . $user_email, ‘apppresser’ ), array( ‘status’ => 404, ) ); } $user_id = $user->ID; // change membership level to 0 to cancel $cancel = pmpro_changeMembershipLevel( 0, $user_id ); AppPresser_Logger::log( ‘Cancelled membership for ‘, $user_id ); } } AppPresser_IAP_PMP::get();

Loading

Welcome to Build It

Install
×

Build It Membership

Material List

Shaders Used: Complementary Shaders

Material List

Shaders Used: Complementary Shaders

Material List

Shaders Used: Complementary Shaders

Material List

Shaders Used: Complementary Shaders

Material List

Shaders Used: Complementary Shaders

Material List

Shaders Used: Complementary Shaders

Material List

Shaders Used: Complementary Shaders

Material List

Shaders Used: Complementary Shaders

Material List

Shaders Used: Complementary Shaders

Material List

Shaders Used: Complementary Shaders

Material List

Shaders Used: Complementary Shaders

Material List

5min

Want me to call you back? :)