Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 对经过身份验证的用户隐藏菜单项Wordpress_Php_Wordpress_Authentication_Login - Fatal编程技术网

Php 对经过身份验证的用户隐藏菜单项Wordpress

Php 对经过身份验证的用户隐藏菜单项Wordpress,php,wordpress,authentication,login,Php,Wordpress,Authentication,Login,我有Login菜单项,我想对经过身份验证的用户隐藏它,我试图找到解决方案并解决此问题: 但在我看来,创建两个单独的菜单并不是一个好主意。也许存在另一种方式?谢谢 如果不想创建两个单独的菜单,则必须创建一个。但老实说,这是正确的方法,而且可能也是最简单的方法 或者,您可以向要隐藏的菜单项添加一个类,并使用JavaScript和CSS为未登录的用户隐藏它们。当然,这不是一个很好的解决方案。这可以单独使用CSS来完成。当用户登录时,WordPress会将类“”添加到页面的主体标记中 在菜单生成器中,

我有
Login
菜单项,我想对经过身份验证的用户隐藏它,我试图找到解决方案并解决此问题:


但在我看来,创建两个单独的菜单并不是一个好主意。也许存在另一种方式?谢谢

如果不想创建两个单独的菜单,则必须创建一个。但老实说,这是正确的方法,而且可能也是最简单的方法


或者,您可以向要隐藏的菜单项添加一个类,并使用JavaScript和CSS为未登录的用户隐藏它们。当然,这不是一个很好的解决方案。

这可以单独使用CSS来完成。当用户登录时,WordPress会将类“”添加到页面的主体标记中

在菜单生成器中,可以在设置标签和标题的同一位置为单个菜单项指定类。例如,您可以将类设置为“注销隐藏”。截图:

如果“类”选项不可见(默认情况下不可见),请在“屏幕选项”区域将其打开。请参见此屏幕截图中最下面一行的选项:

现在,在CSS中,您可以使用以下CSS规则在用户登录时隐藏此项目:

body.logged-in li.logout-hide {
    display:none;
}
如果您希望在登录时隐藏注销项目,并在注销时隐藏登录项目,则可以使用相同的方法

关于css特殊性的注意事项:您可能会发现,即使设置了上述规则,该项也不会隐藏。这可能是因为另一个规则正在覆盖新规则并将“display”属性设置为可见的内容。例如,如果您的菜单应用了一个ID(比如,“menu header menu”可能),您可能需要将其添加到您的规则中。i、 e:

body.logged-in ul#menu-header-menu li.logout-hide {
    display:none;
}

如果您有任何问题,请告诉我们。

我只是尝试开发的方式,理论上它应该可以工作,但我使用的是Chrome。确保你在DevTools下禁用了Chrome的缓存

谢谢你的回答,我会试试你的方法。这里找到了很好的解决方案