WordPress: gestire le scadenze nei siti con abbonamento

WordPress: gestire le scadenze nei siti con abbonamento

Se gestite siti con abbonamenti in WordPress vi sarà sicuramente capitato di dover verificare se un abbonamento è scaduto, ad esempio dopo un anno dalla registrazione dell'utente. La soluzione consiste nell'aggiungere un campo meta al profilo utente dove inserirete il timestamp Unix nel momento in cui l'utente si iscrive al sito. Il resto è matematica.

La soluzione può essere la seguente:


if( !function_exists( 'is_subscription_expired' ) ) {
	function is_subscription_expired() {
		global $current_user;
      	get_currentuserinfo();
      	$user_id = $current_user->ID;
      	
		$year = 365 * 24 * 60 * 60; // 1 anno in secondi
		$now = time(); // Timestamp Unix corrente
		$created = get_user_meta( $user_id, 'my-user-created', true ); // Timestamp Unix della registrazione utente
		
		
		$date_exp_ts = intval( $created ) + $year; // Data di scadenza
		
		if( $now == $date_exp_ts ) {
			return true;
		} else {
			return false;
		}

	}
}

In pratica si sommano il timestamp della registrazione utente ed il timestamp della durata dell'abbonamento e li si confronta con il timestamp corrente.

Torna su