Menu supplémentaire

Achetez MemberPress dès aujourd'hui ! Commencez à être payé pour le contenu que vous créez ! Obtenir MemberPress maintenant
  1. Accueil
  2. Base de connaissances
  3. Sujets avancés
  4. Codes personnalisés
  5. Règles et redirections
  6. Ajouter des redirections non autorisées spécifiques à la règle MemberPress
  1. Accueil
  2. Base de connaissances
  3. Général
  4. Protéger le contenu
  5. Ajouter des redirections non autorisées spécifiques à la règle MemberPress

Ajouter des redirections non autorisées spécifiques à la règle MemberPress

MemberPress dispose d'un redirection non autorisée qui redirige automatiquement les tout utilisateur non autorisé à l'URL que vous avez spécifié dans les paramètres de MemberPress.

Si vous devez utiliser plusieurs URL de redirection, vous devrez utiliser un extrait de code personnalisé, car cette option n'est pas disponible par défaut.

Ce document vous fournira le code personnalisé et vous expliquera comment l'utiliser pour définir différentes URL de redirection non autorisées pour des règles MemberPress spécifiques.

Comment faire ?

L'ajout de l'extrait de code de ce document créera des exceptions à vos paramètres d'URL de redirection non autorisée.

En d'autres termes, chaque redirection basée sur une règle définie à l'aide de cet extrait de code créera une exclusion de votre URL de redirection globale non autorisée. Cette URL de redirection globale sera utilisée pour tous les contenus protégés par d'autres règles.

Note: L'extrait de code ne fonctionne que lorsque la redirection globale est activée et réglée sur Tableau de bord > Paramètres > MemberPress > Onglet Pages. Pour ce faire, vous devez activer le Rediriger les visiteurs non autorisés vers une URL spécifique option. Vous devez également ajouter l'URL de redirection au fichier URL pour diriger les visiteurs non autorisés domaine.

Pour ajouter une URL de redirection à une règle basée sur l'ID de la règle, vous devez ajouter le code de filtrage suivant :

// Ajouter une redirection non autorisée basée sur l'ID de la règle MemberPress

add_filter( 'mepr-rule-redirect-unauthorized-url', function ( $redirect_url, $delim, $uri ) {
global $post ;
if ( $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 );

Le code ci-dessus est un exemple qui doit être adapté à vos besoins. Plus loin, nous expliquerons comment vous pouvez modifier le code.

Une fois modifié, vous pouvez ajouter l'extrait de code à votre site web dans la section functions.php de votre thème enfant. Vous pouvez également utiliser l'option WPCode plugin. Veuillez consulter le document suivant pour obtenir des instructions pas à pas sur la façon de procéder. Comment ajouter des extraits de code personnalisés dans WPCode.

Remarque : Cet extrait de code n'est pas compatible avec les règles de l'URI personnalisé.

Définir la redirection pour chaque règle

Pour que ce code fonctionne sur votre site, vous devez ajouter une instruction IF à partir de l'exemple de code pour chaque redirection de client dont vous avez besoin.

Pour illustrer ce propos, l'instruction IF suivante redirigera tout utilisateur non autorisé vers l'application https://yourdomain.com/register/membership-1/ s'ils essaient de visiter un contenu protégé par la règle dont l'ID est 101 :

if ( in_array( 101, $rule_ids ) ) {

$redirect_url = 'https://yourdomain.com/register/membership-1/' ;

L'instruction IF suivante dans l'exemple de code fait de même pour le contenu protégé par la règle portant l'ID 201, en redirigeant les utilisateurs vers une URL différente (https://yourdomain.com/register/membership-2/).

Par conséquent, vous devez copier cette instruction IF et l'adapter à chaque règle pour laquelle vous avez besoin d'une redirection non globale. Dans chaque instruction IF, vous devez adapter les données suivantes :

  • ID de la règle:
si ( in_array( 101, $rule_ids ) ) {
  • URL vers laquelle les utilisateurs seront redirigés:
$redirect_url = 'https://yourdomain.com/register/membership-1/';

Pour trouver les identifiants des règles, veuillez vous rendre à l'adresse suivante Tableau de bord > MemberPress > Règles. Vous trouverez l'ID de chaque règle dans la colonne "ID". L'URL de redirection peut être n'importe quelle URL de votre site ou une URL externe.

Remarque : N'oubliez pas que les instructions IF doivent être classées par ordre de priorité. La redirection qui doit avoir la priorité doit être listée en premier.

Aide ?

Cela ne fonctionne pas comme vous le pensez, même après avoir suivi les instructions de la vidéo ? N'hésitez pas à nous envoyer un
Ticket d'assistance!

Cet article a-t-il été utile ?

Articles connexes

fille de l'ordinateur

Achetez MemberPress dès aujourd'hui !

Commencez à être payé pour le contenu que vous créez.