如何显示不同的菜单以登录WordPress中的用户

您是否想在WordPress中显示不同的菜单对登录用户?

默认情况下,WordPress允许您在主题中特定位置显示相同的导航菜单.但是,如果您想在网站上显示其他菜单以登录用户怎么办?

在本文中,我们将向您展示如何轻松向WordPress中登录的用户显示不同的菜单.

Showing different navigtion menus to logged in and non-logged in users in WordPress Showing different navigtion menus to logged in and non-logged in users in WordPress

为什么显示不同的菜单以登录WordPress中的用户?

根据您的访问者及其活动更改WordPress网站的不同区域,使您的网站对每个用户都感到个性化.

此个性化内容可帮助您改善WordPress网站上的用户体验.

现在,如果您运行了一个网站,在该网站上无需注册或登录,则可以在网站上使用相同的导航菜单.

但是,其他网站可能会大大受益于向登录用户显示自定义菜单.

例如,在线商店,WordPress会员网站社区或在线学习平台等网站都可以从个性化的导航菜单中受益.

登录用户的个性化导航菜单可帮助他们更轻松地找到他们注册的内容.

例如,在线商店上的用户可以管理其帐户,或者付费社区的成员可以轻松续订订阅或查看他​​们购买的在线课程.

默认情况下,WordPress确实使您根据需要创建尽可能多的导航菜单.但是,您只能选择在WordPress主题中的特定位置显示一个菜单.

话虽如此,让我们看一下如何轻松改变这种行为并将不同的菜单显示给WordPress中的使用者.

  • 使用插件在WordPress中显示不同的菜单
  • 手动选择WordPress在WordPress中登录的菜单

创建菜单以登录和未登录WordPress中的用户

无论您使用哪种方法,您都需要首先创建要显示给已登录和已登录用户的导航菜单.

只需转到WordPress仪表板中的菜单页面即可.如果您已经在网站上为所有用户使用的导航菜单,则可以是您的默认菜单.

Main menu Main menu

之后,单击"创建新菜单"链接,为您的登录用户创建新的自定义菜单.

在这里,您可以将要显示的菜单项添加到注册或已登录的用户中.例如,您可能需要将注销链接添加到菜单.

在屏幕的左侧,您可以看到网站页面的列表.只需选中要添加到菜单的任何页面旁边的框,然后单击"添加到菜单"按钮.

Logged in menu Logged in menu

您还可以将菜单项拖放在屏幕右侧的菜单项以重新排列它们.

在页面下方,您可以选择一个位置以显示您的菜单.但是,您现在不需要分配一个位置,现在为此菜单.我们将稍后在文章中这样做.

不要忘记单击"保存菜单"按钮以存储您的更改.

有关创建菜单的更多详细信息,请查看我们的WordPress导航菜单的初学者指南.

方法1.使用插件在WordPress中显示不同的菜单

此方法更容易,建议所有WordPress用户.

首先,您需要安装和激活条件菜单插件.有关更多详细信息,请参阅我们有关如何安装WordPress插件的分步指南.

激活后,您需要访问外观»菜单页面,然后切换到"管理位置"选项卡.

从这里,您将看到WordPress主题中定义的可用菜单位置列表以及当前显示的菜单.

Manage menu locations Manage menu locations

例如,它显示我们的主要菜单位置正在显示标题为"主菜单"的导航菜单.

现在,我们需要告诉插件在匹配特定条件时显示不同的菜单.

要这样做,请单击"+条件菜单"链接,然后从下拉菜单中选择要显示到已登录的用户的导航菜单.

Select logged in menu Select logged in menu

接下来,您需要单击"+条件"链接.

这将带来一个弹出窗口,您将看到很多条件可供选择.

只需选中"用户登录"选项旁边的框,然后单击"保存"按钮.

您现在可以访问您的网站以查看"行动中的登录用户"菜单.您还可以登录WordPress管理员,以查看将显示给所有其他用户的导航菜单.

Different menu for logged in users Different menu for logged in users

方法2.使用代码

在wordpress中手动选择登录

此方法要求您将代码添加到WordPress网站.如果您以前没有这样做,请查看我们的指南如何在WordPress中复制和粘贴代码段.

首先,您需要将以下代码添加到主题的functions.php文件或特定网站的插件.

function my_wp_nav_menu_args( $args = '' ) {
if( is_user_logged_in() ) {
//Logged in menu to display
$args['menu'] = 43;

} else {
//Non-logged-in menu to display
$args['menu'] = 35;
}
return $args;
}
add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' );

VPS1352主机测评网(www.vps1352.com)
本文链接:https://www.vps1352.com/12648.html

5

发表回复