Поддержка Проблемы и решения Редирект незалогиненного пользователя

  • Доброго времени суток!

    Редирект незалогиненного пользователя с выделенного массива определённых страниц

    Перешли с 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 );
    
    • Тема изменена 3 года, 9 месяцев назад пользователем shrumi.
    • Тема изменена 3 года, 9 месяцев назад пользователем shrumi.
    • Тема изменена 3 года, 9 месяцев назад пользователем Yui.
  • Тема «Редирект незалогиненного пользователя» закрыта для новых ответов.