Скрытие пункта из меню, а также отказ в доступе, если пользователь не авторизован - PullRequest
0 голосов
/ 24 апреля 2020

Мне удалось скрыть элемент из меню, если пользователь не вошел в систему. Как вообще отключить доступ к странице? потому что это только через css ограниченный доступ. Это мой текущий код из файловых функций. php из моего дочернего шаблона.

add_action('wp_head','hide_menu');

function hide_menu() { 
    if ( is_user_logged_in() ) {
        $output="<style> .navbar-nav.megamenu li:nth-child(2) { display: none; } </style>";
    } else {
        $output="<style> 
        .navbar-nav.megamenu li:nth-child(3) { display: none; } 
        .navbar-nav.megamenu li:nth-child(4) { display: none; }
        .navbar-nav.megamenu li:nth-child(5) { display: none; }
        .navbar-nav.megamenu li:nth-child(6) { display: none; }
        .pull-right.list-inline.acount li:nth-child(1) { display: none; }
        .pull-right.top-cart-wishlist { display: none; }
        </style>";
    }
    echo $output;

Примечание: я не хочу использовать различные плагины, которые отключены, и я не смог найти адекватный ответ на Google, поэтому, пожалуйста, обратитесь за помощью.

что-то вроде этого? введите описание изображения здесь

1 Ответ

1 голос
/ 24 апреля 2020

Вы можете проверить, вошел ли пользователь в систему и совпадает ли пост-идентификатор со страницей, к которой вы не хотите, чтобы не вошедший в систему пользователь имел доступ и перенаправил ее на главную страницу, вставьте ее в заголовок прямо перед

    $front = get_home_url();
    $post = get_post();
    $user = wp_get_current_user();
    if($user->ID < 1){
        if($post->ID == your-post-id-here){
           header( "Location: $front" );
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...