# Метаданные установленных расширений

В некоторых случаях способность расширения работать зависит от присутствия другого расширения. Класс pm_Extension используется для сбора информации и выполнения базовых действий с расширениями:

- Получения информации об установленных расширениях,

- Проверки версий и статусов расширений,

- Установки/удаления, включения/отключения расширений.

# Получение данных о расширениях

Используйте следующие методы для получения информации об установленных расширениях.

- getExtensions() – получает список всех установленных расширений,

- getById($id) – находит расширение по идентификатору.

Следующий код находит все установленные расширения, а затем получает их идентификаторы и статусы активности.

    $extensions = pm_Extension::getExtensions();
    foreach ($extensions as $extension) {
        $extension->getId();
        $extension->isActive();
    }

Следующие методы получают данные о расширении:

- getId() – ID расширения,

- getName() – отображаемое имя расширения,

- getVersion() – номер версии,

- getRelease() – номер выпуска,

- isActive() – статус активности расширения.

Следующий код находит расширение WP Toolkit (ID: `"wp-toolkit"`), а затем получает его отображаемое имя и статус активности.

    $extension = pm_Extension::getById("wp-toolkit");
    $extension->getName();
    $extension->isActive();

# Управление расширениями

Класс pm_Extension также предоставляет методы включения и отключения установленных расширений и методы установки и удаления расширений:

- enable() – изменяет статус расширения на «включено»,

- disable() – изменяет статус расширения на «отключено»,

- installById() – устанавливает расширение с указанным ID,

- installByUrl() – устанавливает расширение с указанным URL,

- installByFile() – устанавливает расширение из указанного файла,

- uninstall() – удаляет расширение.