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

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

- Получения информации об установленных расширениях,
- Проверки версий и статусов расширений,
- Установки/удаления, включения/отключения расширений.

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

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

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

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

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

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

- getId() – ID расширения,
- getName() – отображаемое имя расширения,
- getVersion() – номер версии,
- getRelease() – номер выпуска,
- isActive() – статус активности расширения.

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

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

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

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

- enable() – изменяет статус расширения на «включено»,
- disable() – изменяет статус расширения на «отключено»,
- installById() – устанавливает расширение с указанным ID,
- installByUrl() – устанавливает расширение с указанным URL,
- installByFile() – устанавливает расширение из указанного файла,
- uninstall() – удаляет расширение.