У меня есть веб-сайт, который просит посетителей выбрать язык на первой странице, я храню эту опцию в файле 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_TOO_MANY_REDIRECTS).
Что мне не хватает? Есть ли лучший способ достичь этого? Я попытался сделать что-то подобное в header.php, с тем же результатом …
Вы можете подключиться к функции перенаправления шаблона.
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.