函数文档

wp_get_ability()

💡 云策文档标注

概述

wp_get_ability() 函数用于检索已注册的 ability 实例,返回该实例以供检查或使用。该实例提供对 ability 配置、元数据和执行方法的访问。

关键要点

  • 函数返回 WP_Ability 实例或 null(如果未注册)。
  • 参数 $name 为字符串,必需,需包含命名空间前缀(例如 'my-plugin/my-ability')。
  • 内部通过 WP_Abilities_Registry::get_instance() 获取注册表实例,并调用 get_registered() 方法。

代码示例

// 打印已注册 ability 的信息。
$ability = wp_get_ability( 'my-plugin/export-data' );
if ( $ability ) {
    echo $ability->get_label() . ': ' . $ability->get_description();
}

注意事项

  • 该函数在 WordPress 6.9.0 版本中引入。
  • 相关函数包括 WP_Abilities_Registry::get_registered() 和 wp_has_ability()。
  • 常用于 REST API 控制器中,如执行 ability 或检查权限。

📄 原文内容

Retrieves a registered ability.

Description

Returns the ability instance for inspection or use. The instance provides access to the ability’s configuration, metadata, and execution methods.

Example:

// Prints information about a registered ability.
$ability = wp_get_ability( 'my-plugin/export-data' );
if ( $ability ) {
    echo $ability->get_label() . ': ' . $ability->get_description();
}

See also

Parameters

$namestringrequired
The name of the ability, including namespace prefix (e.g., 'my-plugin/my-ability').

Return

WP_Ability|null The registered ability instance, or null if not registered.

Source

function wp_get_ability( string $name ): ?WP_Ability {
	$registry = WP_Abilities_Registry::get_instance();
	if ( null === $registry ) {
		return null;
	}

	return $registry->get_registered( $name );
}

Changelog

Version Description
6.9.0 Introduced.