問題描述
我無法理解這一點。在功能上似乎沒有複選框或類似的功能,可以將新創建的自定義帖子類型歸檔頁面添加到菜單中。
此外,鏈接必須處於活動狀態,如果您在頁面上。這可能是不可能的,但是有沒有一些插件呢?對於我的愛,我找不到它:(
我只發現這個插件叫做 Custom Post Type Archives in Nav Menus,它並沒有真正做任何事情,而是添加了自定義鏈接到菜單中。使用完整的 site-url 。它不會活躍或不是非常動態。
我以為,可能最簡單的方法是覆蓋 wp_nav_menu()
並手動添加我的鏈接,然後使用 $_GET
信息來控制 「當前活動鏈接」 。
最佳解決方案
這是我認為應該工作的一種方法 (雖然沒有測試) 。
//Hook on to the filter for the (custom) main menu
// 'wp_list_pages' filter is a fallback, when a custom menu isn't being used
add_filter( 'wp_list_pages', 'new_nav_menu_items' );
add_filter( 'wp_nav_menu_items', 'new_nav_menu_items' );
//Can also hook into a specific menu...
//add_filter( 'wp_nav_menu_{$menu->slug}_items', 'new_nav_menu_items' );
function new_nav_menu_items($items) {
global $wp_query;
$class ='';
//Checks if we are viewing CPT 'myposttype', if so give it the 'active' class.
if(isset($wp_query->query_vars['post_type'])&& $wp_query->query_vars['post_type']=='myposttype')
$class = 'current_page_item';
//This generates the url of the CPT archive page
$url = add_query_arg('post_type','myposttype',site_url());
$myitem = '<li class="'.$class.'"><a href="'.$url.'">My Custom Post Type</a></li>';
$items = $items . $myitem;
return $items;
}
對我而言似乎不是最簡單的解決方案,但我不知道有什麼其他的方法。如果有,我想看看!
最後,自定義項目鏈接的鏈接不是’pretty’ – 但是如果您新增了 CPT 的 s T(假定使用了自定義永久鏈接….)
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。