jimboobrien
5/14/2013 - 5:02 AM

Paid Memberships Pro customization to only let members of a certain level checkout if a discount code was used.

Paid Memberships Pro customization to only let members of a certain level checkout if a discount code was used.

/*
  Only let level 1 members sign up if they use a discount code.
  Place this code in your active theme's functions.php or a custom plugin.
*/
function my_pmpro_registration_checks_require_code_to_register($pmpro_continue_registration)
{
  //only bother if things are okay so far
	if(!$pmpro_continue_registration)
		return $pmpro_continue_registration;

	//level = 1 and there is no discount code, then show an error message
	global $pmpro_level, $discount_code;
	
  //if($pmpro_level->id == 1 && (empty($discount_code) || trim(strtoupper($discount_code)) != "REQUIRED_CODE_IN_UPPERCASE")) //use this conditional to check for a specific code.
  if($pmpro_level->id == 1 && empty($discount_code))
	{
		pmpro_setMessage("You must use a valid discount code to register for this level.", "pmpro_error");
		return false;
	}
	
	return $pmpro_continue_registration;
}
add_filter("pmpro_registration_checks", "my_pmpro_registration_checks_require_code_to_register");