wp_unregister_ability()WP 6.9.0

Удаляет ранее зарегистрированную возможность из глобального реестра Abilities API.

Функцию можно вызвать в любое время после регистрации возможности. Например, чтобы отключить возможность другого плагина или удалить больше не используемую.

Если возможность не зарегистрирована, WordPress вызовет предупреждение _doing_it_wrong(). Проверить её наличие можно через wp_has_ability().

Хуков нет.

Возвращает

WP_Ability|null.

  • WP_Ability - удалённый объект возможности.
  • null - если возможность не зарегистрирована или реестр недоступен.

Использование

wp_unregister_ability( $name ): ?WP_Ability;
$name(string) (обязательный)
Название возможности с пространством имён. Например, my-plugin/my-ability.

Примеры

0

#1 Отключение возможности другого плагина

Удаляет возможность после того, как остальные плагины успели её зарегистрировать.

add_action( 'wp_abilities_api_init', 'my_plugin_unregister_ability', 100 );

function my_plugin_unregister_ability(): void {
	if ( wp_has_ability( 'other-plugin/some-ability' ) ) {
		wp_unregister_ability( 'other-plugin/some-ability' );
	}
}

Заметки

Список изменений

С версии 6.9.0 Введена.

Код wp_unregister_ability() WP 7.0.2

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

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