is_nav_menu()
云策文档标注
概述
is_nav_menu() 函数用于检查给定的 ID 是否为导航菜单。它返回布尔值,表示菜单是否存在。
关键要点
- 函数接受一个必需参数 $menu,可以是菜单的 ID、slug、名称或 WP_Term 对象。
- 内部通过 wp_get_nav_menu_object() 获取菜单对象,并验证其 taxonomy 是否为 'nav_menu'。
- 如果 $menu 为空或验证失败,返回 false;否则返回 true。
代码示例
function is_nav_menu( $menu ) {
if ( ! $menu ) {
return false;
}
$menu_obj = wp_get_nav_menu_object( $menu );
if (
$menu_obj &&
! is_wp_error( $menu_obj ) &&
! empty( $menu_obj->taxonomy ) &&
'nav_menu' === $menu_obj->taxonomy
) {
return true;
}
return false;
}注意事项
- 函数自 WordPress 3.0.0 版本引入。
- 相关函数包括 wp_get_nav_menu_object() 和 is_wp_error()。
- 在 WP_Classic_To_Block_Menu_Converter::convert() 等函数中被使用。
原文内容
Determines whether the given ID is a navigation menu.
Description
Returns true if it is; false otherwise.
Parameters
$menuint|string|WP_Termrequired-
Menu ID, slug, name, or object of menu to check.
Source
function is_nav_menu( $menu ) {
if ( ! $menu ) {
return false;
}
$menu_obj = wp_get_nav_menu_object( $menu );
if (
$menu_obj &&
! is_wp_error( $menu_obj ) &&
! empty( $menu_obj->taxonomy ) &&
'nav_menu' === $menu_obj->taxonomy
) {
return true;
}
return false;
}
Changelog
| Version | Description |
|---|---|
| 3.0.0 | Introduced. |