В некоторых случаях способность расширения работать зависит от присутствия другого расширения. Класс 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() – удаляет расширение.