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 à une règle
  1. Accueil
  2. Base de connaissances
  3. Général
  4. Protéger le contenu
  5. Ajouter des redirections non autorisées spécifiques à une règle

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

MemberPress est doté d'une fonction intégrée de redirection non autorisée, qui redirigera automatiquement tout utilisateur non autorisé vers l'URL que vous avez spécifiée dans les paramètres de MemberPress. Pour en savoir plus sur la configuration de la redirection non autorisée et l'utilisation de cette fonction, veuillez consulter le document suivant : Utilisation de la redirection non autorisée.

Dans les cas où vous auriez besoin d'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 effet, chaque redirection basée sur des règles définie à l'aide de cet extrait de code créera une exclusion de votre URL de redirection non autorisée globale (l'" URL de redirection non autorisée ").URL pour diriger les visiteurs non autorisés vers") fixé à Tableau de bord > Paramètres > MemberPress > Onglet Pages. Cette URL de redirection globale sera utilisée pour tous les contenus protégés par d'autres règles.

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 ) {
     $current_post = MeprUtils::get_current_post( ) ;
     $rules = MeprRule::get_rules( $current_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 ) ; //Ceci doit être exécuté en dernier

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.