Дракошикина Заварка
Гуру
(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, а вставить код лишь на ту единственную страницу, откуда и нужен редирект.
Наверно что-то типа этого: ...но он всех редиректит. Как его переделать?
Знающему наверно очевидно всё, но я профан)