wpseek.com
A WordPress-centric search engine for devs and theme authors



wp_register_ability_category › WordPress Function

Since6.9.0
Deprecatedn/a
wp_register_ability_category ( $slug, $args )
Parameters: (2)
  • (string) $slug The unique slug for the ability category. Must contain only lowercase alphanumeric characters and dashes (e.g., 'data-export').
    Required: Yes
  • (array<string,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. }
    Required: Yes
See:
Returns:
  • (WP_Ability_Category|null) The registered ability category instance on success, `null` on failure.
Defined at:
Codex:

Registers a new ability category.

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' );


Source

function wp_register_ability_category( string $slug, array $args ): ?WP_Ability_Category {
	if ( ! did_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 );
}