Selon mes besoins, je dois afficher une page avec firstpage.php
pour les utilisateurs qui visitent mon site pour first time
, sinon la page d'accueil devrait afficher homepage.php
.
J'ai créé ces deux pages en tant que page-templates
Jusqu'à présent, j'ai réussi à utiliser des cookies en utilisant le code ci-dessous.
if (!isset($_COOKIE['visited'])) { // no cookie, so probably the first time here
setcookie ('visited', 'yes', time() + 3600); // set visited cookie
header("Location: index.php");
exit(); // always use exit after redirect to prevent further loading of the page
}
else{
header("Location: index.php/first-page/");
}
Lorsque j'utilise le code ci-dessus, il n'est pas redirigé vers l'URL requise, ce qui entraîne une erreur.
La page ne redirige pas correctement
J'ai trouvé un plugin pour obtenir mon exigence, il est géré à l'aide de cookies
nous devons fournir Welcome URL
A.K.A firstpage
dans mon cas et nous devons sélectionner la page à rediriger pour la deuxième fois.
Mettez le code ci-dessous dans le thème functions.php: -
add_action('template_redirect','wdm_redirect');
function wdm_redirect(){
$ip = $_SERVER['REMOTE_ADDR'];
$value = get_option($ip);
if ($value == '') {
update_option($ip,1);
wp_redirect(site_url('first-page'));
exit(); // always use exit after redirect to prevent further loading of the page
}
}
Utilisez template_include
avec votre condition pour premier visiteur:
add_filter( 'template_include', 'first_time_visitor_template', 99 );
function first_time_visitor_template( $template ) {
if ( // your conditional for first time visitor {
$new_template = locate_template( array( 'first-time-template.php' ) );
if ( '' != $new_template ) {
return $new_template ;
}
}
return $template;
}
N'utilisez PAS template_redirect
Vous devrez tester quelle solution fonctionne pour un visiteur novice .