J'essaie de créer un code dans lequel les non-membres sont redirigés vers la page de destination. Malheureusement, le code que j'ai construit fonctionne en partie et génère une boucle de redirection.
if(is_user_logged_in() && function_exists('pmpro_hasMembershipLevel') && pmpro_hasMembershipLevel()) {
global $current_user;
$current_user->membership_level = pmpro_getMembershipLevelForUser($current_user->ID);
echo 'Membership Level: ' . $current_user->membership_level->name;
} else {
wp_redirect(/my-account/orders/);
exit;
}
Toute aide serait appréciée. La première partie de l'instruction if fonctionne bien, mais la seconde moitié renvoie la boucle de redirection.
Merci et salutations,
Piyush
Vous devez également vérifier si l'utilisateur est sur cette page particulière ou non. S'il se trouve sur cette page, il n'est pas nécessaire de le rediriger à nouveau.
Changer votre autre à ceci:
if(is_user_logged_in() && function_exists('pmpro_hasMembershipLevel') && pmpro_hasMembershipLevel()) {
global $current_user;
$current_user->membership_level = pmpro_getMembershipLevelForUser($current_user->ID);
echo 'Membership Level: ' . $current_user->membership_level->name;
} else {
if( ! is_page('page-slug') ){
wp_redirect('/my-account/orders/');
exit;
}
}
Dans lequel page-slug
est le slug de la page vers laquelle vous redirigez vos utilisateurs.