Installer WordPress et des plugins avec Composer

Installer WordPress via Composer a souvent été difficile, heureusement il y a maintenant une solution!

WordPress

Sur Github il existe un projet qui est actuellement mis-à-jour toutes les 15 minutes avec la dernière version de WordPress. C’est aussi la plus utilisée. https://github.com/johnpbloch/wordpress

Dans le composer.json simplement indiquer le nom du projet. Dans cet exemple, on peut aussi indiquer dans quel dossier wordpress sera installé.

{
  "require": {
    "php": ">=5.4",
    "johnpbloch/wordpress": "4.2"
  },
  "extra": {
    "wordpress-install-dir": "wp"
  }
}

Ensuite simplement utiliser la commande d’installation de composer

composer install

Dans notre dossier “wp” se trouve maintenant wordpress. Maintenant lorsque d’autre plugins veulent être installé, par défaut ceux-ci se retrouve dans le dossier /vendor. Pour installer les plugins directement dans le dossier voulu, on va devoir se faire aider par composer-installer.

Celui-ci permet d’utiliser d’utiliser les types de packets et de les installer au bon endroit.

Composer Installer

composer-installers lets a package specify its type and a custom install location. They have a few types already included that we care about:

  • wordpress-plugin => wp-content/plugins/{$name}/
  • wordpress-theme => wp-content/themes/{$name}/
  • wordpress-muplugin => wp-content/mu-plugins/{$name}/

Donc n’importe quel paquet avec le type “wordpress-plugin” sera automatiquement installer dans “wp-content/plugins/{$name}” par defaut.

WordPress Packagist

Outlandish a créé un repértoire contenant tous les plugins WordPress en mode composer, cela se trouve sous  WordPress Packagist.

Il suffit d’ajouter le paquet voulu et ainsi installer le plugin voulu.

{
"repositories": [
    {
      "type": "composer",
      "url": "http://wpackagist.org"
    }
  ],
  "require": {
    "php": ">=5.4",
    "johnpbloch/wordpress": "4.2",
    "wpackagist-plugin/advanced-custom-fields": "*",
  },
  "extra": {
    "wordpress-install-dir": "cms"
  }
}

sauf que…

Les Plugins

Publicités

Le soucis, c’est que précédemment WordPress a été installé dans le dossier cms. Donc il va falloir récrire cela, pour se faire, on rajoute un “extra” avec le la solution voulue

{
"repositories": [
    {
      "type": "composer",
      "url": "http://wpackagist.org"
    }
  ],
  "require": {
    "php": ">=5.4",
    "johnpbloch/wordpress": "4.2",
    "wpackagist-plugin/advanced-custom-fields": "*",
  },
  "extra": {
    "wordpress-install-dir": "cms",
    "installer-paths": {
      "cms/wp-content/plugins/{$name}": ["type:wordpress-plugin"]
    }
  }
}

Ainsi vous vous retrouverez avec les plugins installer au bon endroit et pouvez les activer à votre guise dans la console d’adminsitration

Publicités

Laisser un commentaire