Préparation
- Créer un dossier (dossier principal).
A partir de ce dossier, pour voir si omposer est installé, taper :
composer -- version
- Si c'et pas le cas, aller sur getcomposer.org ou taper les lignes suivantes :
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
- Vérifier la version installée, relancer les lignes ci-dessus pour faire une mise à jour si nécessaire.
composer -- version
Récupérer le code d'installation de Wordpress sur Packagist à l'adresse suivante : https://packagist.org/packages/johnpbloch/wordpress ou taper ce code dans le terminal :
// Répondre yes à la question
composer require johnpbloch/wordpress
Un dossier vendor, un fichier composer.json, composer.back et un dossier wordpress sont créés.
Remarque pour le fun : si on supprime tous les fichers et que l'on garde 'composer.json', en tapant 'composer install' dans le terminal on a une installation complete de wordpress.
- Créer un fichier '.gitignore' et mettre le code suivant :
vendor
wordpress
- Aller sur Admirer ou phpMyAdmin pour créer une base de données.
- Installer WPcli (export de BDD, installation des plugins, etc..) - https://wp-cli.org/fr/
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
Vérifier l'installation en tapant :
wp --info
- Créer un fichier 'wp-cli.yml' dans le dossier principal (non wordpress) et indiquer les lignes suivantes (permet d'indiquer que Wordpress n'est pas à la racine du projet) :
path: wordpress
- Créer les fichiers 'wp-config-sample.php' et 'wp-config.php' à la racine du dossier principal.
- Y copier dedans le contenu du fichier 'wp-config-sample' situé dans le dossier 'wordpress'.
- Mettre les identifiants de la base de données dans le fichier 'wp-config.php'
- Faire 'composer install'
Pour installer automatiquement Worpdress : https://make.wordpress.org/cli/handbook/how-to-install/
wp core install --url="http://localhost/dossierDuProjet" --title="monTitreDeSite" --admin_user="monUsernameWP" --admin_password="monPasswordWP" --admin_email="monEmail@gmail.com"
// Réponse attendue -> Success: WordPress installed successfully.
Remarque : on peut également utiliser la commande suivante si on veut installer avec un prompt :
wp core install --prompt
- Créer un fichier 'index.php' à la racine du dossier principal
- Y coller le contenu du fichier 'index.php' situé dans le dossier 'wordpress'
// REMPLACER :
require __DIR__ . '/wp-blog-header.php';
PAR :
require __DIR__ . '/wordpress/wp-blog-header.php';
- créer un fichier .htaccess à la racine du dossier principal:
RewriteEngine on
RewriteCond %{REQUEST_URI} !^wp/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1
Dans le nouveau fichier 'wp-config.php' :
- Ajouter le code suivant après les commentaires : '/* Add any custom values between this line and the "stop editing" line. */'
// ajouter des constantes custom
// Je définis l'URL vers la page d'accueil de mon site
define(
'WP_HOME',
rtrim ( 'http://localhost/S08/wp-oSailing-Marc-cherier', '/' )
);
// Je définis l'URL vers le dossier source de WordPress
// URL sur internet -> contient http ou https
define(
'WP_SITEURL',
WP_HOME . '/wordpress'
);
// Je définis l'URL vers le dossier wp-content
// Chemin local du dossier (/var/www/html...)
define(
'WP_CONTENT_URL',
WP_HOME . '/wp-content'
);
// Je définis le path (chemin côté serveur) vers le dossier wp-content
define(
'WP_CONTENT_DIR',
__DIR__ . '/wp-content'
);
WPackagist
Nous permet d'utiliser des thèmes et des plugins avec composer. Il va créer le dossier 'wp-content' à la racine du projet. Pour ça il faut installer un thème et un plugin.
https://wpackagist.org/ pour voir le nom des plugins et des themes d'installation.
On peut trouver les noms des plugins et thèmes fournis par WP à l'url https://fr.wordpress.org/themes/hello-elementor
- Ajouter à 'composer.json' le code suivant pour les plugns:
,
"config": {
"allow-plugins": {
"johnpbloch/wordpress-core-installer": true,
"composer/installers": true
}
}
- Ajouter à 'composer.json' le code suivant pour les thèmes:
,
"repositories": [
{
"type":"composer",
"url":"https://wpackagist.org",
"only": [
"wpackagist-plugin/*",
"wpackagist-theme/*"
]
}
]
Pour installer un plugin taper :
composer require wpackagist-plugin/nomDuPlugin
Pour activer un plugin taper :
wp plugin activate nomDuPlugin
Pour installer un thème taper :
composer require wpackagist-theme/nomDuTheme
Pour activer un thème taper :
wp theme activate nomDuTheme
gitignore
- Remplacer le code '.gitignore' par le code suivant:
vendor
wordpress
wp-config.php
/wp-content/*
!/wp-content
/wp-content/themes/*
!/wp-content/themes
!/wp-content/themes/monTheme
Changer la langue du site
wp language core install fr_FR
Pour générer le scss, se placer dans le dossier du thème et taper :
parcel build src/scss/main.scss
il créé undossier 'dist' et 'main.scss'