WordPress Packagist

This site provides a mirror of the WordPress plugin and theme directories as a Composer repository.

How do I use it?

  1. Add the repository to your composer.json
  2. Add the desired plugins and themes to your requirements using wpackagist-plugin or wpackagist-theme as the vendor name.
  3. Run $ composer.phar update
  4. Packages are installed to wp-content/plugins/ or wp-content/themes/

Example

{
    "name": "acme/brilliant-wordpress-site",
    "description": "My brilliant WordPress site",
"repositories":[ { "type":"composer", "url":"http://wpackagist.org" } ],
"require": { "aws/aws-sdk-php":"*",
"wpackagist-plugin/akismet":"dev-trunk", "wpackagist-plugin/captcha":">=3.9", "wpackagist-theme/hueman":"*"
}, "autoload": { "psr-0": { "Acme": "src/" } } }

This example composer.json file adds the Wpackagist repository and includes the latest version of Akismet, at least version 3.9 of Captcha, and the latest Hueman theme along with the Amazon Web Services SDK from the main Packagist repository.

Find out more about using Composer including custom install paths.

The old vendor prefix wpackagist is now removed in favour of wpackagist-plugin.

Why use Composer?

“Composer is a tool for dependency management in PHP. It allows you to declare the dependent libraries your project needs and it will install them in your project for you.”
  • Avoid committing plugins and themes into source control.
  • Avoid having to use git submodules.
  • Manage WordPress and non-WordPress project libraries with the same tools.
  • Could eventually be used to manage dependencies between plugins.

How does the repository work?

  • Scans the WordPress Subversion repository for plugins and themes.
  • Fetches the tags for each updated package and maps those to versions.
  • For plugins, adds trunk as a dev version.
  • Rebuilds the composer package JSON files.

Known issues

  • Requires Composer 1.0.0-alpha7 or more recent
  • Version strings which Composer cannot parse are ignored. All plugins have at least the trunk build available.
  • Themes do not have a trunk version. It is recommended to use "*" as the required version.
  • Packages with unicode names might not work properly.

Contribute or get support

Please visit our GitHub page.

An Outlandish experiment.