隐藏菜单中的项目,如果用户未登录则拒绝访问

如果用户未登录,我可以从菜单中隐藏项目,通常如何也禁用页面访问?因为这只能通过CSS受限访问。 这是我的子模板中来自functions.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上找不到合适的答案,因此请寻求帮助。

评论
  • 女硬汉
    女硬汉 回复

    您可以检查用户是否已登录以及帖子ID是否等于您不希望未登录用户访问的页面并将其重定向到首页,请将其粘贴在标题中

        $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" );
            }
        }