改为使用相对较新的Wordpress菜单功能。
将下面的register_nav_menu函数添加到您的functions.php文件中。
add_action('after_setup_theme', 'template_setup');
if (! function_exists('template_setup')):
function template_setup() {
// register nave menu
register_nav_menu('primary','Main Menu');
}
endif;
如果您已经拥有了对“template_setup”触发一个函数,刚刚添加下面一行到功能:
register_nav_menu('primary','Main Menu');
然后在你的header.php(或任何你想要的地方菜单出现)的调用添加到wp_nav_menu:
<?php wp_nav_menu(array('menu' => 'Main Menu','container' => false)); ?>
然后登录到你的WordPress管理区域,使用具有管理员权限用户名。转到外观>菜单(在你的functions.php文件中注册菜单后,这是一个新的页面,可以访问)。
创建一个新菜单,将其称为您喜欢的,并将其分配给主题位置,在这种情况下为“主菜单”。在这里,您现在可以从您的wordpress安装中的任何页面,帖子,类别等构建您的菜单。还包括一个方便的链接到'家'。有关界面的更多信息,请参阅here。
界面非常漂亮,拖放效果非常好,菜单的其他功能保持不变,即使添加新页面也是如此。
/
另外如果你想谁都不联系的,但谁是“编辑者能够编辑菜单中的用户,以下内容添加到您的functions.php文件。
// editor role - add appearance menu
$role_object = get_role('editor');
// add $cap capability to this role object
$role_object->add_cap('edit_theme_options');
我不明白你的问题到底是什么。 “代码2”可以满足你的需求 - 它创造出如下的菜单:HOME | TOP_LEVEL_PAGE1 | TOP_LEVEL_PAGE2 | ETC - 然而,您正在编写“代码1允许我使用自定义菜单面板创建页面”。那是不正确的。 'wp_list_pages'按原样列出页面。你可以用'sort_column'参数改变顺序,但就是这样。如果您想在wp-admin中使用“菜单”选项,则必须改用'wp_nav_menu'。 – 2011-05-21 02:24:07
您应该遵循WP-Documentation:http://codex.wordpress.org/Function_Reference/wp_nav_menu并在您的主题的functions.php中添加以下代码:'/ ** *获取我们的wp_nav_menu()后备,wp_page_menu() ,显示一个家庭链接。 * *若要在子主题中覆盖此项,请移除筛选器,并可选择添加 *您自己的与wp_page_menu_args筛选器挂钩关联的函数。函数my_page_menu_args($ args){ \t $ args ['show_home'] = true; \t return $ args; } add_filter('wp_page_menu_args','my_page_menu_args');' – 2014-01-04 16:21:12