MemberPress hat eine eingebaute unerlaubte Umleitung Funktion, die automatisch eine Umleitung jeder nicht autorisierte Benutzer auf die URL, die Sie in den MemberPress-Einstellungen angegeben haben.
Wenn Sie mehrere Umleitungs-URLs verwenden möchten, müssen Sie ein benutzerdefiniertes Code-Snippet verwenden, da diese Option standardmäßig nicht verfügbar ist.
Dieses Dokument stellt Ihnen den benutzerdefinierten Code zur Verfügung und erklärt, wie Sie ihn verwenden können, um verschiedene unautorisierte Umleitungs-URLs für bestimmte MemberPress-Regeln festzulegen.
Wie macht man das?
Durch Hinzufügen des Codeschnipsels aus diesem Dokument werden Ausnahmen von Ihren Einstellungen für nicht autorisierte Umleitungs-URLs erstellt.
Jede regelbasierte Umleitung, die mit diesem Codeschnipsel festgelegt wird, erzeugt nämlich einen Ausschluss von Ihrer globalen unautorisierten Umleitungs-URL. Diese globale Umleitungs-URL wird für alle Inhalte verwendet, die durch andere Regeln geschützt sind.
Um einer Regel auf der Grundlage der Regel-ID eine Umleitungs-URL hinzuzufügen, müssen Sie den folgenden Filtercode hinzufügen:
// Hinzufügen einer nicht autorisierten Umleitung auf der Grundlage der MemberPress-Regel-ID
add_filter( 'mepr-rule-redirect-unauthorized-url', function ( $redirect_url, $delim, $uri ) {
global $post;
wenn ( $post ) {
$rules = MeprRule::get_rules( $post );
if ( !empty( $rules ) ) {
$rule_ids = array_column($rules, 'ID');
if ( in_array( 101, $rule_ids ) ) {
$redirect_url = "https://yourdomain.com/register/membership-1/";
} else if ( in_array( 201, $rule_ids ) ) {
$redirect_url = "https://yourdomain.com/register/membership-2/";
}
}
}
return $redirect_url;
}, 999, 3 );
Der obige Code ist ein Beispiel, das an Ihre Bedürfnisse angepasst werden sollte. Weiter unten wird erklärt, wie Sie den Code ändern können.
Nach der Änderung können Sie das Codeschnipsel auf Ihrer Website in der funktionen.php Datei Ihres Child-Themes. Als Alternative können Sie die WPCode Plugin. Im folgenden Dokument finden Sie eine Schritt-für-Schritt-Anleitung für Hinzufügen von benutzerdefinierten Codefragmenten in WPCode.
Umleitung für jede Regel festlegen
Damit dieser Code auf Ihrer Website funktioniert, müssen Sie eine IF-Anweisung aus dem Beispielcode für jede benötigte Kundenumleitung hinzufügen.
Zur Veranschaulichung: Die folgende IF-Anweisung leitet jeden nicht autorisierten Benutzer auf die https://yourdomain.com/register/membership-1/ URL, wenn sie versuchen, einen Inhalt zu besuchen, der durch die Regel mit der ID 101 geschützt ist:
if ( in_array( 101, $rule_ids ) ) { $redirect_url = "https://yourdomain.com/register/membership-1/";
Die nächste IF-Anweisung im Beispielcode tut dasselbe für Inhalte, die durch die Regel mit der ID 201 geschützt sind, indem sie die Benutzer zu einer anderen URL umleitet (https://yourdomain.com/register/membership-2/).
Dementsprechend müssen Sie diese IF-Anweisung kopieren und sie für jede Regel anpassen, für die Sie eine nicht-globale Umleitung benötigen. Innerhalb jeder IF-Anweisung müssen Sie die folgenden Daten anpassen:
- Regel-ID:
wenn ( in_array( 101, $rule_ids ) ) {
- URL, zu der die Benutzer weitergeleitet werden:
$redirect_url = 'https://yourdomain.com/register/membership-1/';
Um die Regel-IDs zu finden, navigieren Sie bitte zu Dashboard > MemberPress > Regeln. You will find the ID of each rule in the “ID” column. The redirection URL can be any URL from your site or external URL.
Hilfe?
Funktioniert es nicht so, wie Sie es sich vorstellen, auch wenn Sie die Anweisungen im Video befolgt haben? Schicken Sie uns einfach eine
Support-Ticket!