基本上我在这里尝试做的是创建菜单和子菜单,它们可以从脚本中的任何地方挂钩,这意味着我可以从脚本的任何位置添加新菜单。我现在要做的是为它创建一个可重用的函数。
在menu.php
上function add_admin_menu($admin_menu_page = array()){
return $admin_menu_page;
}
function add_admin_submenu($admin_submenu_page = array()){
return $admin_submenu_page;
}
$admin_menu_page[] = array("Dashboard", "dashboard");
$admin_menu_page[] = array("Pages", "pages");
$admin_menu_page[] = array("Setings", "setings");
$admin_submenu_page['dashboard'][] = array("Home", "home");
$admin_submenu_page['dashboard'][] = array("Update", "update");
$admin_submenu_page['pages'][] = array("Add New Page", "new");
$admin_submenu_page['pages'][] = array("All Pages", 'pages');
$admin_submenu_page['setings'][] = array("SMTP", "smtp");
$admin_submenu_page['setings'][] = array("Theme Options", "theme-options");
add_admin_menu($admin_menu_page);
add_admin_submenu($admin_submenu_page);
关于index.php
var_dump(add_admin_menu());
,输出
array(0){}
我错过了什么?
在一个简单的问题中,我将如何将其变为功能?
答案 0 :(得分:1)
如果您尝试检查传递给数组的内容,请尝试这样做。
function add_admin_menu($admin_menu_page = array()){
var_dump($admin_menu_page);
return $admin_menu_page;
}
但是没有任何理由让这个函数返回相同的数组。
如果在调用函数后想要var_dump,请尝试此操作。
$menu = add_admin_menu($admin_menu_page);
$submenu = add_admin_submenu($admin_submenu_page);
var_dump($menu);
var_dump($submenu);
答案 1 :(得分:1)
尝试存储您的值,也许是这样:
function add_admin_menu($admin_menu_page = array()){
static $menu = array();
if(empty($menu)) $menu = $admin_menu_page;
return $menu;
}
该解决方案的缺陷是当时只有一个菜单;
这样您可以存储任何数量的菜单;
$menus = array();
function add_admin_menu($admin_menu_page = array()){
global $menus;
$index = sizeof($menus);
$menus[$index] = $admin_menu_page;
return $index;
}
请注意,它返回$index
,而不是输入数组(没有意义),因此您可以稍后访问该菜单,甚至将其与某个sumbenu相关联。