有人可以回答我如何根据登录状态更改顶部菜单项的链接的问题吗?例如,如果你没有登录,你会看到/register 链接,如果你登录了,你会得到#link of even(如果这个项目是root)你会看到那个菜单的子页面列表?
问问题
228 次
2 回答
1
如果您自己对链接进行硬编码,请执行以下操作。
if(is_user_logged_in() ){
echo '<a href="/">home</a>';
}else{
echo '<a href="/register">register</a>';
}
于 2013-07-08T10:19:12.070 回答
0
我在我的网站上做了同样的事情。
第一步:创建两个菜单的位置
你必须像这样创建两个菜单位置
function register_my_menus(){
register_nav_menus(
array(
'new_user_navigation'=>__('New User Navigation'),
'registered_user_navigation'=>__('Registered Navigation'),
)
);
}
add_action( 'init','register_my_menus' );
将上面的代码放在function.php 文件中。现在这将在您的管理面板菜单部分创建两个导航区域。您可以从 ware 中选择要在前面板的这些导航区域下显示的菜单。
第 2 步:从管理面板中选择菜单。
现在选择要在特定菜单位置显示的菜单。
第 3 步:编辑 header.php 文件中的代码。
现在通过使用 @In God I Trust 代码,您可以让 WordPress 决定当用户像这样登录时要显示哪个菜单。
if(is_user_logged_in() ){
if ( has_nav_menu( 'registered_user_navigation' ) ){
wp_nav_menu( array('theme_location' => 'registered_user_navigation',
'menu_item' => 'object_id'
) );
}
}else{
if ( has_nav_menu( 'new_user_navigation' ) ){
wp_nav_menu( array('theme_location' => 'new_user_navigation',
'menu_item' => 'object_id'
) );
}
}
于 2013-07-08T11:47:05.583 回答