对WordPress示例代码失败的原因感到沮丧。编写一个简单的插件,根据用户的登录状态和角色切换显示的菜单。我正在保存当前菜单,以防
相关代码区域如下:
add_filter( \'wp_nav_menu_args\', \'MenuSelector\' );
function MenuSelector( $args = \'\')
{
$menu_name = \'primary\';
$locations = get_nav_menu_locations();
$menu_id = $locations[ $menu_name ] ;
$menu = wp_get_nav_menu_object($menu_id);
$PrimaryMenu = $menu[\'name\'];
......
}
这与WordPress参考上建议的代码相同。
https://codex.wordpress.org/Function_Reference/wp_get_nav_menu_object即便如此,仍会出现以下错误:
注意:未定义索引:primary-in/home/dskurth/public\\u html/wp-content/plugins/MenuSelector/main。php第105行。
Line 105 is: $menu_id = $locations[ $menu_name ] ;
因此,基本上是说菜单名的定义,即:“primary”是一个未定义的变量。这甚至是在遵循返回的数组的WordPress定义之后:
$locations = get_nav_menu_locations();
为什么?