改爲使用相對較新的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