我正在Wordpress上建立一个会员网站,并希望向登录用户显示不同的导航菜单。
这是显示菜单的当前PHP代码:
<?php /* Our navigation menu. */ ?>
<?php if ( isset ($options['admired_remove_superfish']) && ($options['admired_remove_superfish']!="") )
wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary' ) );
else
wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary', 'menu_class' => 'sf-menu','fallback_cb' => 'admired_page_menu' ) );?>
这是需要替换该代码的PHP代码:
<?php
if ( wp_emember_is_member_logged_in() ) {
wp_nav_menu( array( 'menu' => 'logged-in-members' ) );
} else {
wp_nav_menu( array( 'menu' => 'normal-visitor-menu' ) );
}
?>
如果我只是用新代码替换旧代码,它将起作用,但格式已关闭。我需要当前代码中的Superfish部分,但我不确定如何使其在PHP中工作。
我知道这可能有点令人困惑,但我会感谢任何帮助。谢谢!
附言这是插件站点的教程。我一直在关注它,但我以某种方式需要将超级鱼留在那里。我确定不知道该怎么做。
http://www.tipsandtricks-hq.com/wordpress-membership/show-different-navigation-menu-to-your-members-and-non-members-551
'menu_class' => 'sf-menu'
将为菜单(<ul class="sf-menu">)
添加sf-menu class
,super fish
插件将使用此class
来识别菜单和样式,该样式已在super fish
插件的css
中声明
<?php
if ( wp_emember_is_member_logged_in() ) {
wp_nav_menu( array( 'menu' => 'logged-in-members', 'menu_class' => 'sf-menu' ) );
} else {
wp_nav_menu( array( 'menu' => 'normal-visitor-menu', 'menu_class' => 'sf-menu' ) );
}
?>
有关更多信息,请参阅此处。
考虑到上面的代码,唯一改变的是菜单的实际位置。(现有)代码显示您想要'theme_location' => 'primary'
中的菜单,因为您有一个要使用的硬编码菜单,并且您正在选择它'menu' => 'loggged-in-members'
最终结果将是......
<?php
if ( wp_emember_is_member_logged_in() ) {
wp_nav_menu(
array(
'container_class' => 'menu-header',
'menu' => 'logged-in-members',
'menu_class' => 'sf-menu',
'fallback_cb' => 'admired_page_menu'
)
);
} else {
wp_nav_menu( array( 'menu' => 'normal-visitor-menu' ) );
}
?>