Ich versuche, einen Code zu erstellen, in dem Nichtmitglieder auf die Zielseite umgeleitet werden. Leider funktioniert der von mir erstellte Code teilweise und führt zu einer Umleitungsschleife.
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;
}
Jede Hilfe wäre dankbar. Der erste Teil der if-Anweisung funktioniert einwandfrei, aber die zweite Hälfte gibt eine Umleitungsschleife zurück.
Danke und Grüße,
Piyush
Sie müssen auch überprüfen, ob sich der Benutzer auf dieser bestimmten Seite befindet oder nicht. Wenn er sich auf dieser Seite befindet, müssen Sie ihn nicht erneut umleiten.
Ändern Sie Ihr sonst dazu:
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;
}
}
In welchem page-slug
befindet sich der Slug der Seite, zu der Sie Ihre Benutzer umleiten?.