最后,我做到了,我在一周多的时间里试着解决这个问题,然后发送了我的问题,在发送了20分钟的问题后,它终于起作用了:)我需要等待8个小时,因为我是wordpress的新手。stackexchange
因此,正如我在问题评论中提到的,解决问题的思路是:
1-使用wp
instead of init
使is\\U页发挥作用。
2-separate the redirect code 从cookie函数
因此,工作代码是:
function site_set_user_language() {
if(!isset($_COOKIE[\'site_language\'])){
setcookie(\'site_language\', \'ar\', time()+3600*24*365*3,\'/\',\'.site.com\');
}elseif(is_page(\'arabic\') || is_page(\'english\')){
if($_COOKIE[\'site_language\'] == \'en\'){
setcookie(\'site_language\', \'ar\', time()+3600*24*365*3,\'/\',\'.site.com\');
}elseif($_COOKIE[\'site_language\'] == \'ar\'){
setcookie(\'site_language\', \'en\', time()+3600*24*365*3,\'/\',\'.site.com\');
}
}
}
add_action( \'wp\', \'site_set_user_language\',10,1);
和重定向功能:
function site_lang_home_redirect()
{
if(is_page(\'arabic\') || is_page(\'english\')){
wp_redirect( home_url());
exit();
}
}
add_action( \'template_redirect\', \'site_lang_home_redirect\',9 );