問題描述
當顯示菜單 (或關於 displaying menu branches 的問題的菜單分支) 時,是否可以打印所有菜單項的內容?
一旦我點擊 About Us,我希望新頁面顯示所有它的孩子鏈接的內容。
所以基本上我正在尋找一種方法來獲取這些帖子/頁面的 ID,並在我的 WP Query 中使用它們。
最佳解決辦法
我從頭開始編寫支持邏輯是懶惰的,所以我正在重新使用分支鏈接答案的功能:
/**
* Retrieve IDs of posts in branch of menu.
*
* @param mixed $menu
* @param string $branch_title
*
* @link http://wordpress.stackexchange.com/questions/2802/display-a-portion-branch-of-the-menu-tree-using-wp-nav-menu
*
* @return array
*/
function get_post_ids_from_menu_branch( $menu, $branch_title ) {
$menu_object = wp_get_nav_menu_object( $menu );
$menu_items = wp_get_nav_menu_items( $menu_object->term_id );
$items = submenu_limit( $menu_items, (object) array( 'submenu' => $branch_title ) );
$items = wp_list_filter( $items, array( 'object' => 'post' ) );
$ids = wp_list_pluck( $items, 'object_id' );
return $ids;
}
// example
var_dump( get_post_ids_from_menu_branch( 'Test menu', 'Level 1' ) );
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。
