2011-10-08 2 views
-1

J'ai un site wordpress, où, après utilisation se connecte, je veux qu'ils redirigent vers un site différent. Comment puis-je faire cela dans wordpress? la définition de la fonction d'en-tête php (header: "Location: http://www.somesite.com")) ne fonctionnait pas, les en-têtes étaient déjà définis dans le fichier header.php. Donc, fondamentalement, comment puis-je rediriger via wordpress?comment rediriger hors d'un site wordpress?

Est-ce que wordpress a sa propre fonction directe, où je peux l'utiliser pour rediriger en toute sécurité hors d'un site wordpress? Je n'ai aucune idée de quoi faire d'autre, alors s'il vous plaît aidez-moi, merci.

+0

où dans votre code faites-vous la redirection? (comme dans, à quel point .. à l'intérieur d'un modèle de page, etc etc) – Ben

Répondre

3

Dans les pages normales, vous pouvez utiliser wp_redirect (voir Function Reference/wp_redirect)

<?php 
wp_redirect($location, $status); 
exit; 
?> 

Pour autoriser la redirection vers d'autres sites, ajoutez ce qui suit functions.php (en remplacement de 'l'autre' avec vos valeurs) :

function my_allowed_redirect_hosts($allowed) { 
    $allowed[] = 'other.com'; 
    $allowed[] = 'www.other.com'; 
    return $allowed; 
} 
add_filter('allowed_redirect_hosts','my_allowed_redirect_hosts'); 

Normalement, s'il y a une valeur redirect_to querystring sur l'URL de la page de connexion, il tente de rediriger vers cet endroit après l'authentification.

Pour changer où la connexion redirigera les utilisateurs quelle que soit la valeur redirect_to querystring, ajouter à nouveau à functions.php (en remplacement de l'emplacement avec vos valeurs):

function custom_login_redirect() { 
    return 'http://www.other.com/Home/Authenticated'; 
} 
add_filter('login_redirect', 'custom_login_redirect'); 

Pour vous déconnecter et redirectng à un autre site, vous pouvez puis utiliser quelque chose comme:

<a href="<?=wp_logout_url("http://other.com/Account/LogOff")?>">Log Off</a> 
0

Essayez celui

//chage the redirection url for login 
add_filter('login_redirect','my_redirect_to_my_site',100,3); 
function my_redirect_to_my_site($redirect_to_calculated,$redirect_url_specified,$user){ 
    return "http://google.com";//where you want to redirect ,change with that 

} 


//add the domain to allowed hosts list for redirection 
add_filter('allowed_redirect_hosts','my_allowed_redirect_hosts'); 
function my_allowed_redirect_hosts($allowed_hosts){ 
$allowed_hosts[]='google.com'; //add the other domain to allowed hosts where to redirect 
return $allowed_hosts; 
} 

Assurez-vous d'ajouter votre nom d'hôte (où vous souhaitez rediriger dans la liste allowed_hosts). vous pouvez mettre ce code dans functiions.php de votre thème et il redirigera l'utilisateur lors de la connexion. Hope qui aide :)