Skip to content

Plugins

Installing plugins

On the WordPress VIP Platform, plugins cannot be installed, updated, or deleted in the WordPress admin dashboard. Plugins can only be installed, updated, or deleted via the VIP site’s git version control repository, hosted on GitHub. On the VIP Platform, code is deployed from git, which makes it easier to roll back to a previous “known good” state if a site encounters issues.

  • Install plugins by adding them to the /plugins directory of a VIP site’s git repository.
  • Each plugin should be added in its own pull request in order to make any needed reverts as easy as possible.
  • Plugins can and should be code activated by a plugin loader file in /client-mu-plugins.
  • Installed plugins can also be activated via the “Plugins” admin screen in the WordPress admin dashboard.

Drop-in plugins

Drop-in plugins are designed to replace, add, or enhance specific WordPress core features.

WordPress environments on the VIP Platform already include the sunrise.php, db.php, and object-cache.php drop-in plugins, supplied by vip-go-mu-plugins. Customers are able to modify sunrise.php by creating and editing a client-sunrise.php file in an application’s GitHub repository.

No other drop-in plugins can be added. If a drop-in plugin is added to an application’s GitHub repository, it will be ignored by the environment.

Subtrees

Because the WordPress VIP Platform workflow is git-based, subtrees can be used to pull in third-party plugin code.

By using the subtree workflow, a copy of the referenced code is pulled into the VIP site’s repository. This makes it possible for the VIP Code Analysis Bot to run automatic code reviews on subtree code when subtree code is added or changed in a pull request.

Submodules

VIP does not recommend the use of submodules to include dependencies, especially on production.

Submodules are a reference to a GitHub repository of code dependencies—but not a copy—of the code. The VIP Code Analysis Bot will not run automatic code reviews on code from an added or updated submodule, as a submodule is only a reference to another repository.

If the referenced code changes upstream (becomes inaccessible, has its history changed, or otherwise becomes invalid), a missing submodule source runs the risk of breaking the functionality of a site.

Submodules that reference a private GitHub repository or a git repository hosted elsewhere that requires authentication are not supported on VIP. References to public submodules must be referenced in the .gitmodules file, located in the top-level directory of a git working tree.

Composer

Plugins can be treated as PHP dependencies, and Composer can be used on VIP to pull in runtime dependency packages—such as plugins—during a local or continuous integration (CI) builds

Some plugin repositories, such as AMP for WordPress, contain unbuilt versions of code. In these cases, running the command, composer install is required for the plugin to work properly. Repositories like this one cannot be referenced as submodules as VIP does not run these build commands on the server.

Last updated: June 07, 2022