Gemäß meiner Anforderung muss eine Seite mit dem Hinweis firstpage.php
für Benutzer angezeigt werden, die meine Website mit dem Hinweis first time
besuchen. Anderenfalls muss die Startseite mit dem Hinweis homepage.php
angezeigt werden.
Ich habe beide Seiten als page-templates
erstellt
Bisher habe ich es geschafft, Cookies mit folgendem Code zu setzen
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/");
}
Wenn ich den obigen Code verwende, wird er nicht zur erforderlichen URL umgeleitet und führt zu einem Fehler.
Die Seite wird nicht richtig umgeleitet
Ich habe ein Plugin gefunden, um meine Anforderung zu erhalten. Es wird mit cookies
verwaltet. Wir müssen in meinem Fall Welcome URL
A.K.A firstpage
angeben und sie müssen auswählen, welche Seite zum zweiten Mal umgeleitet werden soll.
Füge folgenden Code in die theme functions.php ein: -
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
}
}
Verwenden Sie template_include
mit Ihrer Bedingung für den ersten Besucher:
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;
}
NICHT template_redirect verwenden
Sie müssen testen, welche Lösung für einen erstmaligen Besucher funktioniert .