woocommerce execute php when user activates membership

Viewed 38

I found hook:

wc_memberships_activated

description says:

Runs when Memberships is activated.

I think that it runs all time as membership is activated. How can I run script like this:

if (user just bought membership){
//execute something
}

Script should be executed once as user bought membership

1 Answers

please use this funtion:

add_action('wc_memberships_activated','your_function');

your_function(){
  .... here your code
}

In this case, please user this function:

add_filter( 'wc_memberships_grant_access_from_new_purchase','your_function',20,2);

your_function( $boolVal, $args ) {

 $user_id = $args['user_id'],
 $product_id = $args['product_id'],
 $order_id = $args['order_id'],

 $hasAlreadyMembership = get_user_meta($user_id,'_hasMembership',false);

 if(!$hasAlreadyMembership){
  .... run your code
 }

 update_user_meta($user_id,'_hasMembership',true);

 return $boolVal
}

With add_action you add your own function to hook.

Related