返回导航菜单对象。
原型
wp_get_nav_menu_object( int|string|WP_Term $menu )
参数
$menu
(int|string|WP_Term)
(Required)
菜单ID,slug,名称或对象。
返回值
(WP_Term|false)
如果未提供$ menu param或者term不存在则返回false,如果成功则为menu对象。
源文件
路径:wp-includes/nav-menu.php
<?php
...
function wp_get_nav_menu_object( $menu ) {
$menu_obj = false;
if ( is_object( $menu ) ) {
$menu_obj = $menu;
}
if ( $menu && ! $menu_obj ) {
$menu_obj = get_term( $menu, 'nav_menu' );
if ( ! $menu_obj ) {
$menu_obj = get_term_by( 'slug', $menu, 'nav_menu' );
}
if ( ! $menu_obj ) {
$menu_obj = get_term_by( 'name', $menu, 'nav_menu' );
}
}
if ( ! $menu_obj || is_wp_error( $menu_obj ) ) {
$menu_obj = false;
}
/**
* Filters the nav_menu term retrieved for wp_get_nav_menu_object().
*
* @since 4.3.0
*
* @param WP_Term|false $menu_obj Term from nav_menu taxonomy, or false if nothing had been found.
* @param int|string|WP_Term $menu The menu ID, slug, name, or object passed to wp_get_nav_menu_object().
*/
return apply_filters( 'wp_get_nav_menu_object', $menu_obj, $menu );
}
...
?>
其他
英文文档:https://developer.wordpress.org/reference/functions/wp_get_nav_menu_object/