Third-Party Plugins
Altis is built atop the open-source WordPress CMS. In addition to custom Altis modules, you can also use third-party WordPress plugins to take advantage of the open-source ecosystem.
There are two ways to add plugins to your project: either commit the plugin to your project (or use submodules), or manage it via Composer.
Managing Plugins via Composer
Plugins can be managed via Composer dependencies, similar to how Altis modules are added.
Some plugins are natively available via Composer, and can be found on Packagist via the wordpress-plugin
type.
The starter project automatically configures Composer to install plugins into the correct place for your project, but if you started from scratch you may need to configure this yourself. First, install composer/installers
as a dependency, which will allow installing these types of projects. Next, configure Composer under extra.installer-paths
in your composer.json
to place them into the correct directory:
"extra": {
"installer-paths": {
"content/plugins/{$name}/": [
"type:wordpress-plugin"
],
"content/themes/{$name}/": [
"type:wordpress-theme"
]
}
}
Some plugins are not available natively on Packagist, and are available only via the WordPress.org Plugin Repository. These can be installed via a third-party Composer repository called WordPress Packagist.
To set up and configure WordPress Packagist, first add the custom repository to your project's composer.json
under a repositories
key:
"repositories": [
{
"type":"composer",
"url":"https://wpackagist.org"
}
]
To install plugins, you can now use composer require wpackagist-plugin/{plugin-name}
, where {plugin-name}
is the "slug" of the plugin from the WordPress.org Plugin Repository to install.
For example, Akismet is available at https://wordpress.org/plugins/akismet/
, so the "slug" of the plugin is akismet
. You can install this with:
composer require wpackagist-plugin/akismet
Managing Plugins Manually
Third-party plugins should be placed inside the content/plugins/
directory. Each plugin should be contained in its own directory within the plugins directory, with one file containing a comment header.
Generally speaking, we recommend using Git submodules if you're installing modules manually. This reduces the amount of code necessary in your repository, and makes managing updates much easier.