Skip to content

Plugins

Most plugins are available on the WordPress Plugin Repository and can be installed via Composer.

  1. Find your plugin in the repository.

  2. Copy the slug from the plugin URL — for example, the slug for https://wordpress.org/plugins/complianz-gdpr/ is complianz-gdpr.

  3. Install via Composer:

    Terminal window
    ddev composer require wpackagist-plugin/<your-slug>
  4. Enable the plugin in the WordPress admin.

Plugins not available in the repository must be installed manually.

  1. Download and unzip the plugin.

  2. Place the plugin folder in your plugins directory:

    • Directoryyour-project
      • Directoryweb
        • Directoryapp
          • Directoryplugins
  3. Add an exception to .gitignore so the plugin is tracked:

    .gitignore
    web/app/plugins/*
    !web/app/plugins/.gitkeep
    web/app/mu-plugins/*/
    !web/app/mu-plugins/instance-*
    # Manually Installed Plugins
    !web/app/plugins/your-plugin-name
  4. Enable the plugin in the WordPress admin.


Terminal window
ddev composer remove wpackagist-plugin/<your-slug>
  1. Remove the plugin folder from web/app/plugins/.

  2. Remove the .gitignore exception you added during installation.



Some plugins must remain active for the theme to function correctly — for example, Advanced Custom Fields. WordPress loads files in mu-plugins automatically; they do not appear in the plugins list and cannot be deactivated by editors.

  1. Update composer.json to install the plugin into mu-plugins:

    "extra": {
    "installer-paths": {
    "web/app/mu-plugins/{$name}/": [
    "type:wordpress-muplugin",
    "wpengine/advanced-custom-fields-pro",
    "wpackagist-plugin/svg-support",
    "wpackagist-plugin/classic-editor",
    "wpackagist-plugin/acf-extended",
    "wpackagist-plugin/your-plugin-name"
    ],
    "web/app/plugins/{$name}/": [
    "type:wordpress-plugin"
    ],
    "web/app/themes/{$name}/": [
    "type:wordpress-theme"
    ]
    },
    "wordpress-install-dir": "web/wp"
    },

    The exact package name can be found in the require section of composer.json.

  2. Run the update:

    Terminal window
    ddev composer update
  1. Copy the plugin folder from web/app/plugins/ to web/app/mu-plugins/.

  2. Update .gitignore with the new path.