假设您能够在调用菜单的文件(可能是header.php)中编辑主题或子主题,请使用以下内容:
<?php
if( is_user_logged_in() ) :
wp_nav_menu( array(
\'theme_location\' => \'header-nav\',
\'menu_id\' => \'header-menu\',
) );
endif;
?>
这将是首选选项,因为它根本不会加载导航,所以即使是足够精明的人查看源代码/开发人员控制台也不会看到它。
如果您无法编辑主题/子主题文件,则可以使用CSS进行编辑:
#site-navigation {
display:none;
}
body.logged-in #site-navigation{
display:block;
}
注意,上面的CSS解决了
<nav>
标记对于我最近开始构建的站点,您必须查看源代码/开发人员控制台,并确定要添加的元素/容器
display:none;
到重要的是WordPress添加了
.logged-in
类设置为body标记,特别是允许我们根据登录的用户编写不同的CSS/js规则/函数。
但是,正如我所说,如果您所追求的是阻止未登录的用户使用菜单查找项目,那么CSS不是首选选项-为此,您希望在顶部使用条件检查。
Addendum我还应该添加您可以添加的else
并加载其他菜单或登录链接。。。
<?php
if( is_user_logged_in() ) :
wp_nav_menu( array(
\'theme_location\' => \'header-nav\',
\'menu_id\' => \'header-menu\',
) );
else :
wp_nav_menu( array(
\'theme_location\' => \'header-nav-notloggedin\',
\'menu_id\' => \'header-menu-notloggedin\',
) );
endif;
?>