如何从PHP文件中添加项目到WordPress菜单?
发布时间:2020-12-13 22:45:02 所属栏目:PHP教程 来源:网络整理
导读:我有一个基于Wordpress的会员网站,我想创建一个对所有用户都相同的导航菜单,除了一个标签显示“你的订阅”,该标签将有一个下拉菜单,显示用户有哪些订阅,每个用户都会有所不同. 这是我现在拥有的一小部分样本: if ( wp_emember_is_member_logged_in('19') )
我有一个基于Wordpress的会员网站,我想创建一个对所有用户都相同的导航菜单,除了一个标签显示“你的订阅”,该标签将有一个下拉菜单,显示用户有哪些订阅,每个用户都会有所不同.
这是我现在拥有的一小部分样本: if ( wp_emember_is_member_logged_in('19') ) { wp_nav_menu( array( 'menu' => 'example1','menu_class' => 'sf-menu' ) ); 这将检查成员是否具有某个成员资格级别,然后输入特定于该成员资格级别的菜单.唯一的问题是我有20个elseif语句和20个菜单,这根本没有效率. 基本上,我想在一个菜单中添加单个标签,而不是创建大量不同的菜单.我只是不确定该怎么做.谢谢! 编辑问题. 解决方法
嗨,我确切地说,你有点混淆它是什么,你基本上说你想要为所有用户提供菜单,并根据某个访问级别更改菜单中的1个元素?
如果是这种情况,如果我们处于正确的访问级别并相应地自定义菜单,则看起来您需要一个’if’语句来弄清楚(如您所做).基本上看起来你需要两个不同的数组来构建菜单: if ( wp_emember_is_member_logged_in('19') ) {//this will be show for users with an access level of 19 $menu = array( 'menu' => 'example1','menu_class' => 'sf-menu' ) } else {//this will be show for all users except with an access level of 19 $menu = array( 'menu' => 'example2','menu_class' => 'sf-menu-2' ); } wp_nav_menu($menu); 您需要在WP的这一部分中自己配置/设置菜单: http://YOUR-DOMAIN/wp-admin/nav-menus.php 编辑 看起来你想要编写更好的代码,并且可能没有20个不同的if / else语句….我会这样做: 将包含所有自定义菜单的文件夹作为单独的PHP文件,与用户的组级别共享名称…即 custommenus/19.php custommenus/20.php custommenus/21.php custommenus/22.php 然后加载访问级别的正确菜单,如: //there must be a way for you to grab the user access level //for now I will hard code it $current_user_access_level = 19; $custom_menu_path = 'custommenus/'.$current_user_access_level.'.php'; $default_menu_path = 'custommenus/default.php'; //check to see if the custom menu file exists first if(file_exists($custom_menu_path)) { include $custom_menu_path; } else {//then the file exists,load some sort of default file include $default_menu_path; } 然后,无论何时创建新的访问级别,您只需要在“custommenus”文件夹中添加一个与访问级别同名的新文件,如果尚未创建该文件,则会加载默认菜单! 希望这有帮助:) [PS这是未经测试的] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |