問題描述
我無法理解這一點。在功能上似乎沒有核取方塊或類似的功能,可以將新建立的自定義帖子型別歸檔頁面新增到選單中。
此外,連結必須處於活動狀態,如果您在頁面上。這可能是不可能的,但是有沒有一些外掛呢?對於我的愛,我找不到它:(
我只發現這個外掛叫做 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。