Редирект незалогиненного пользователя
-
Доброго времени суток!
Редирект незалогиненного пользователя с выделенного массива определённых страниц
Перешли с php 5.6 на php 7.1, тема Gloria, стоит wp-recall и аддон к нему a-fixator.
Стоит задача, если кто-то неизвестный перешёл по ссылке на страницу, содержащую в адресе определённые слова, его редиректит, т.е. вход туда только авторизованным юзерам.
Нашёл пару примеров, что-то попытался приспособить, но не работает ни через a-fixator ни в хедере.
Если можно, укажите пожалуйста на ошибки, и\или приведите рабочий пример.
И куда его прописывать всё-таки?
global $wp; $current_url = ''; $secretCategories = ''; $secretCourses = ''; $secretCategories = ('kategorii'); $secretCourses = ('kursy'); function access_granted(){ global wp, wp_parse_url, wp-redirect; $current_url = home_url(add_query_arg(array($_GET), $wp->request)); $pages = preg_match ( $current_url, $secretCategories or $secretCourses) ; $parts = wp_parse_url ($pages, PHP_URL_PATH); if (!is_user_logged_in ()) && (($secretCategories === $parts) or ($secretCourses === $parts)) ) { wp_redirect('https://page-to-redirect/'); } }
Или
$needToRedirect = FALSE; if (strpos($_SERVER['REQUEST_URI'],$secretCategories !== FALSE)) { $needToRedirect = TRUE; } elseif (strpos($_SERVER['REQUEST_URI'],$secretCourses !== FALSE)) { $needToRedirect = TRUE; } if ($needToRedirect && !is_user_logged_in ()) { $location = 'https://page-to-redirect/'; wp_redirect ( $location );
- Тема «Редирект незалогиненного пользователя» закрыта для новых ответов.