2011-05-21 99 views
0

我正在設計一個WordPress主題,目前正在爲我的主頁構建導航。 代碼1允許我使用自定義菜單刑罰創建頁面。我使用代碼2創建一個鏈接到它索引bloginfo('url')的當前頁面;會給我的網站的網址,這將是主頁,至少這是我的承諾。我可以使用自定義鏈接添加鏈接到菜單並鏈接到主頁,但我希望主題能夠鏈接到本地​​主頁,或者位於設置菜單中。任何關於這個問題的想法將不勝感激。如何添加主頁鏈接到新的WordPress主題的導航?

<!--code number 1--> 
<ul id="menu"> 
<?php wp_list_pages('title_li=&depth=1'); ?> 
</ul> 

<!--code number 2--> 
<ul id="menu"> 
<li><a href="<?php bloginfo('url'); ?>" title="Home">Home</a></li> 
<?php wp_list_pages('title_li=&depth=1'); ?> 
</ul> 
+1

我不明白你的問題到底是什麼。 「代碼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

+0

您應該遵循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

回答

1

改爲使用相對較新的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'); 
+0

「還包括一個方便的鏈接到'家'」好的我找到它在菜單管理員的視圖中的所有選項卡,當我選擇添加它創建的所有一個自定義的菜單項,但我如何使這個項目與主題的標準項目。換句話說,用戶在創建菜單時會自動創建「主頁」,並會添加除已經在菜單中的主頁以外的所有其他頁面。試圖減少用戶需要做的事情,以使主題易於使用。 – tanktery 2011-05-21 11:06:00

+0

「主頁」頁面由您在「設置>閱讀」部分設置的內容決定。即如果您的主頁設置爲一個頁面,或設置爲您的博客列表。 我對你試圖達到的目標有點困惑。菜單一旦建成,就建成了,不是嗎? – addedlovely 2011-05-21 13:46:40

+0

假設用戶總是需要主頁按鈕,我希望在菜單生成之前將主頁按鈕放置在菜單中。我希望它作爲默認設置在那裏。這是不明智的? – tanktery 2011-05-21 20:39:13

相關問題