我有一个网站,要求访问者在第一页上选择一种语言,我将该选项存储在cookie中,并根据该选项显示内容(从第二页开始)。
只要cookie未过期,我想显示第二页而不显示第一页。
我尝试在我制作的插件中执行以下操作:
function has_my_cookie(){
if ( isset($_COOKIE["myCookie"])) {
if($_COOKIE["myCookie"] == "en"){
header("Location:path/to/my/en/file");
exit;
}
}
}
add_action(\'init\', \'has_my_cookie\');
问题是我在某处得到了一个无限循环(ERR\\u TOO\\u MANY\\u重定向)。
我错过了什么?有没有更好的方法来实现这一点?我试着在头球做类似的动作。php,具有相同的结果。。。
最合适的回答,由SO网友:Robbert 整理而成
您可以钩住模板重定向函数。
function my_page_template_redirect() {
if ( isset( $_COOKIE["myCookie"] ) ) {
if( $_COOKIE["myCookie"] == "en" ) {
wp_redirect( \'you path\' );
exit;
}
}
}
add_action( \'template_redirect\', \'my_page_template_redirect\' );
你可以更好地利用
wp_redirect()
函数在Wordpress中重定向。