Registers a new ability category.
Description
Ability categories provide a way to organize and group related abilities for better discoverability and management. Ability categories must be registered before abilities that reference them.
Ability categories must be registered on the wp_abilities_api_categories_init action hook.
Example:
function my_plugin_register_categories() {
wp_register_ability_category(
'content-management',
array(
'label' => __( 'Content Management', 'my-plugin' ),
'description' => __( 'Abilities for managing and organizing content.', 'my-plugin' ),
)
);
}
add_action( 'wp_abilities_api_categories_init', 'my_plugin_register_categories' );
See also
Parameters
$slugstringrequired- The unique slug for the ability category. Must contain only lowercase alphanumeric characters and dashes (e.g.,
'data-export'). - mixed> $args { An associative array of arguments for the ability category.
@type string $label Required. The human-readable label for the ability category.
@type string $description Required. A description of what abilities in this category do.
@type array<string, mixed> $meta Optional. Additional metadata for the ability category.
}
Source
function wp_register_ability_category( string $slug, array $args ): ?WP_Ability_Category {
if ( ! doing_action( 'wp_abilities_api_categories_init' ) ) {
_doing_it_wrong(
__FUNCTION__,
sprintf(
/* translators: 1: wp_abilities_api_categories_init, 2: ability category slug. */
__( 'Ability categories must be registered on the %1$s action. The ability category %2$s was not registered.' ),
'<code>wp_abilities_api_categories_init</code>',
'<code>' . esc_html( $slug ) . '</code>'
),
'6.9.0'
);
return null;
}
$registry = WP_Ability_Categories_Registry::get_instance();
if ( null === $registry ) {
return null;
}
return $registry->register( $slug, $args );
}
Changelog
| Version | Description |
|---|---|
| 6.9.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.