Code sur écran d'ordinateur

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 mis à jour toutes les 15 minutes avec la dernière version de WordPress. C’est aussi le plus utilisé. https://github.com/johnpbloch/wordpress

Dans le composer.json il suffit d’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 il suffit d’utiliser la commande d’installation de Composer

composer install

Dans notre dossier « wp » se trouve maintenant WordPress. Maintenant lorsque d’autres plugins veulent être installés, par défaut ceux-ci se retrouvent 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 les types de paquets 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 installé dans « wp-content/plugins/{$name} » par défaut.

WordPress Packagist

Outlandish a créé un répertoire contenant tous les plugins WordPress en mode composer. Cela se trouve sous WordPress Packagist.

Il suffit d’ajouter le paquet voulu pour 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

Le souci, c’est que précédemment WordPress a été installé dans le dossier cms. Donc il va falloir réécrire cela. Pour ce faire, on rajoute un « extra » avec 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 installés au bon endroit et pourrez les activer à votre guise dans la console d’administration

Laisser un commentaire