Installed Extensions’ Meta Data
Sometimes, one extension’s ability to function depends on the presence of another extension. The pm_Extension class is used to collect information and perform basic operations on extensions:
- Retrieve information on installed extensions,
- Check extensions version, state,
- Install/uninstall, enable/disable extensions.
Retrieving Extensions Data
Use the following methods to retrieve information on installed extensions.
- getExtensions() - Retrieve the list of all installed extensions,
- getById($id) - Get the extension by its identifier.
The following code retrieves all installed extensions, then fetches their IDs and activity states.
$extensions = pm_Extension::getExtensions();
foreach ($extensions as $extension) {
$extension->getId();
$extension->isActive();
}
The following methods fetch the extension’s data:
- getId() - extension ID,
- getName() - extension’s display name,
- getVersion() - version number,
- getRelease() - release number,
- isActive() - extension’s activity state.
The following code retrieves the WP Toolkit extension (ID:
"wp-toolkit"
), then fetches its display name and activity state.
$extension = pm_Extension::getById("wp-toolkit");
$extension->getName();
$extension->isActive();
Controlling Extensions
The pm_Extension class also provides methods to enable and disable installed extensions, and to install and uninstall extensions:
- enable() - change extension’s state to enabled,
- disable() - change extension’s state to disabled,
- installById() - install the extension specified by its ID,
- installByUrl() - install the extension from the specified URL,
- installByFile() - install the extension from the specified file,
- uninstall() - uninstall the extension.