Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с кодом редиректа

BAKIN Профи (896), на голосовании 7 месяцев назад
Привет. Я в этом не силён. Нужно, чтобы неавторизированного пользователя wp сайта перенаправляло на нужную мне страницу. На html, чтобы вставить в саму страницу, с которой будет редиректить.

Наверно что-то типа этого:
  
...но он всех редиректит. Как его переделать?

Знающему наверно очевидно всё, но я профан)
Голосование за лучший ответ
Дракошикина Заварка Гуру (3697) 8 месяцев назад
Для решения вашей задачи на WordPress сайте, вам потребуется немного больше, чем просто HTML-код, потому что нужно будет проверять статус авторизации пользователя. Подобное обычно настраивается на языке PHP, а не просто с помощью HTML.

Для этого можете добавить следующий PHP код в файл `functions.php` вашей темы или подтемы. Этот код проверит, авторизирован ли пользователь; если нет — он будет перенаправлен на указанную страницу:

```php
function redirect_non_authenticated_user() {
if (!is_user_logged_in()) {
// Укажите URL страницы для перенаправления
$redirect_url = 'http://вашадомен.com/страница-для-перенаправления';
wp_redirect($redirect_url);
exit;
}
}
// Добавьте действие, когда WordPress инициализируется
add_action('init', 'redirect_non_authenticated_user');
```

Помните, что потребуется заменить `http://вашадомен.com/страница-для-перенаправления` на URL страницы, на которую вы хотите перенаправить неавторизированных пользователей.

Также, если вам нужно сделать исключения для некоторых страниц, где перенаправление не должно происходить, в код можно добавить дополнительные условия. Например, чтобы исключить главную страницу и страницу входа:

```php
function redirect_non_authenticated_user() {
if (!is_user_logged_in() && !is_front_page() && !is_page('login')) {
$redirect_url = 'http://вашадомен.com/страница-для-перенаправления';
wp_redirect($redirect_url);
exit;
}
}
add_action('init', 'redirect_non_authenticated_user');
```

Обратите внимание, что для страницы входа вам нужно использовать slug или ID этой страницы (вместо `'login'`).
BAKINПрофи (896) 8 месяцев назад
Спасибо за ответ. Но исключения, так скажем, нужны на все страницы, кроме одной. Потому и думал не лезть в functions, а вставить код лишь на ту единственную страницу, откуда и нужен редирект.
Похожие вопросы