函数文档

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.

Return

bool Whether the menu exists.

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.