ERR_TOO_MANY_REDIRECTS lors de redirection avec wp_redirect (Créer un compte)

  • WordPress :6.4
  • Statut : non résolu
  • Ce sujet contient 0 réponse, 1 participant et a été mis à jour pour la dernière fois par noomweb, le il y a 1 mois.
Affichage de 1 message (sur 1 au total)
  • Auteur
    Messages
  • #2469873
    noomweb
    Participant
    Initié WordPress
    1 contributions

    Bonjour,

    Ma configuration WP actuelle 6.4.3

    Version de PHP : 8.0.30
    Thème utilisé : Hello Elementor Child
    Extensions en place : Advanced Custom Fields, Automatic Translate Addon For Loco Translate, Classic Editorn, Classic Widgets, Complianz | GDPR/CCPA Cookie Consent, Converter for Media, Copy & Delete Posts, Disable Comments, Elementor, Loco Translate, Multisite Language Switcher, Regenerate Thumbnails, Sucuri Security – Auditing, Malware Scanner and Hardening, SVG Support, SSL Insecure Content Fixer. (Extensions inactive : Geolocation IP Detection, IP2Location Redirection, LiteSpeed Cache, Redirection )

    Problème(s) rencontré(s) :

    Bonjour/Bonsoir,

    Je suis super-admin sur un réseau multisite WordPress.

    Le site contient 5 réseaux :

    Pour la France : mondomaine/principal
    Pour l’Italie : mondomaine/it/
    Pour le Portugal : mondomaine/pt/
    …….

    Ils ont tous le même design mais se distinguent par la langue et le contenu.

    Mon problème réside dans la redirection des utilisateurs en fonction de leur adresse IP. L’objectif est que si un utilisateur venant d’Italie visite le site, il soit automatiquement redirigé vers le réseau italien (mondomaine/it/), et de même pour les autres pays.

    J’utilise une API freemium d’ip2location.io pour récupérer le code pays du visiteur, et cela fonctionne parfaitement. Cependant, une fois que j’ajoute wp_redirect, le site plante et affiche l’erreur suivante : ERR_TOO_MANY_REDIRECTS!

    Je vous remercie d’avance de votre attention et de votre aide.

    Très belle soirée.

    function display_ip_info() {
    $ip_address = $_SERVER['REMOTE_ADDR'];
    $api_url = 'https://api.ip2location.io/?key=XXXXXXXXXXXXXXXXXXXXX&ip=' . $ip_address;
    $args = array(
    'method' => 'GET',
    );

    $response = wp_remote_get($api_url, $args);

    if (is_wp_error($response)) {
    echo 'Erreur lors de la récupération des données.';
    return;
    }

    $body = wp_remote_retrieve_body($response);
    $data = json_decode($body);
    $country = $data->country_code;

    if (isset($country)) {
    switch ($country) {
    case 'IT':
    wp_redirect('https://mondomain.com/it/');
    exit;
    case 'UK':
    wp_redirect('https://mondomain.com/uk/');
    exit;
    case 'ES':
    wp_redirect('https://mondomain.com/es/');
    exit;
    case 'PT':
    wp_redirect('https://mondomain.com/pt/');
    exit;
    default:
    wp_redirect('https://mondomain.com/');
    exit;
    }
    }
    }
    add_action('template_redirect', 'display_ip_info');

    • Ce sujet a été modifié le il y a 1 mois par noomweb.
    • Ce sujet a été modifié le il y a 1 mois par noomweb.
Affichage de 1 message (sur 1 au total)
  • Vous devez être connecté pour répondre à ce sujet.