block_core_navigation_sort_menu_items_by_parent_id

函数
block_core_navigation_sort_menu_items_by_parent_id ( $menu_items )
参数
  • (array) $menu_items Menu items to sort.
    Required:
返回值
  • (array) An array keyed by the id of the parent menu where each element is an array of menu items that belong to that parent.
定义位置
相关方法
block_core_navigation_get_menu_items_at_locationblock_core_navigation_submenu_build_css_font_sizesblock_core_navigation_get_post_idsblock_core_navigation_parse_blocks_from_menu_itemsblock_core_navigation_render_submenu_icon
引入
-
弃用
-

block_core_navigation_sort_menu_items_by_parent_id: 这个函数用于按父级ID对导航菜单项进行排序。它根据菜单项的父子关系,将其排列成一个等级顺序。

将一个标准的菜单项数组排序到一个嵌套结构中,该结构以父菜单的ID为关键。

function block_core_navigation_sort_menu_items_by_parent_id( $menu_items ) {
		$sorted_menu_items = array();
		foreach ( (array) $menu_items as $menu_item ) {
			$sorted_menu_items[ $menu_item->menu_order ] = $menu_item;
		}
		unset( $menu_items, $menu_item );

		$menu_items_by_parent_id = array();
		foreach ( $sorted_menu_items as $menu_item ) {
			$menu_items_by_parent_id[ $menu_item->menu_item_parent ][] = $menu_item;
		}

		return $menu_items_by_parent_id;
	}

	/**
	 * Turns menu item data into a nested array of parsed blocks
	 *
	 * @param array $menu_items               An array of menu items that represent
	 *                                        an individual level of a menu.
	 * @param array $menu_items_by_parent_id  An array keyed by the id of the
	 *                                        parent menu where each element is an
	 *                                        array of menu items that belong to
	 *                                        that parent.
	 * @return array An array of parsed block data.
	 */

常见问题

FAQs
查看更多 >