Ce livre sur WordPress (en version 6.1.1 au moment de l’écriture) s’adresse aux développeurs professionnels, autodidactes et passionnés ayant des connaissances en PHP. Il permet de comprendre les rouages de ce CMS et d’acquérir une maîtrise du déve-loppement d’une extension simple, de thèmes avancés en PHP ainsi que de thèmes basés sur des blocs, en suivant un apprentissage progressif à travers des TP complets.L’auteur présente l’interaction entre PHP et le backoffice du CMS à travers plusieurs...
Ce livre sur WordPress (en version 6.1.1 au moment de l’écriture) s’adresse aux développeurs professionnels, autodidactes et passionnés ayant des connaissances en PHP. Il permet de comprendre les rouages de ce CMS et d’acquérir une maîtrise du déve-loppement d’une extension simple, de thèmes avancés en PHP ainsi que de thèmes basés sur des blocs, en suivant un apprentissage progressif à travers des TP complets.
L’auteur présente l’interaction entre PHP et le backoffice du CMS à travers plusieurs exemples qui montrent les différentes façons de créer un site avec WordPress avec des thèmes (classiques ou basés sur des blocs).
Le lecteur apprend à installer WordPress, à utiliser l’outil d’administration, à ajouter des fonctionnalités avec le fichier functions. php, à comprendre les thèmes basés sur les blocs avec le fichier theme.json, à utiliser des extensions, à enregistrer en base de données, à ajouter des tables pour maîtriser complètement les principes de fonctionnement du CMS et apprendre ensuite à réaliser des thèmes avancés. Une partie du livre traite de la loi RGPD, du référencement, de l’optimisation, de la sécurité, de la traduction, de la migration, de la mise en ligne... L’extension ACF, indispensable pour les développeurs, y sera expliquée et mise en exemple.
Les fonctions propres à WordPress sont détaillées avec des exemples et mises en situation à travers des travaux pratiques : création et ajout de fonctionnalités dans l’administration d’un thème, création d’un thème à partir d’une maquette HTML, création d’une extension fil d’Ariane, création d’un site avec Twenty Twenty-Three, le thème basé sur des blocs en full site editing.
Des liens vers le guide de référence ainsi que le champ lexical utilisé donneront les clés nécessaires pour approfondir les connaissances sur un sujet précis.
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.
5.2.12 Les sections du menu de droite, partie Document
5.2.13 Catégories
5.2.14 Étiquettes
5.3 Médias
5.3.1 Média
5.3.2 Modifier une image
5.3.3 Ajouter
5.4 Pages
5.5 Commentaires
5.6 Apparence
5.6.1 Thèmes
5.6.2 Editeur (bêta)
5.6.3 Personnaliser
5.6.4 Widgets
5.6.5 Menus
5.6.6 Arrière-plan
5.6.7 Éditeur de fichiers des thèmes
5.7 Extensions
5.7.1 Extensions
5.7.2 Ajouter
5.7.3 Éditeur de fichiers des extensions
5.8 Comptes
5.8.1 Tous les comptes
5.8.2 Ajouter
5.8.3 Profil
5.9 Outils
5.9.1 Outils disponibles
5.9.2 Importer
5.9.3 Exporter
5.9.4 Santé du site
5.9.5 Exporter les données
5.9.6 Effacer les données
5.10 Réglages
5.10.1 Général
5.10.2 Écriture
5.10.3 Lecture
5.10.4 Commentaires
5.10.5 Médias
5.10.6 Permaliens
5.10.7 Confidentialité
5.10.8 Les autres onglets
6. Conclusion
WordPress et PHP
1. Introduction
2. La structure des fichiers et dossiers WordPress
2.1 Les fichiers et dossiers à la racine du site
2.2 Le dossier wp-content
3. La base de données WordPress
4. La structure et les fichiers principaux d'un thème
4.1 Les fichiers principaux
4.2 Les fichiers principaux des thèmes classiques
4.3 Les autres fichiers des thèmes classiques
4.4 Les dossiers éventuellement présents à la racine d'un thème classique
4.5 Les fichiers et dossiers des thèmes basés sur des blocs
4.6 Le fichier functions.php
5. Les fonctions d'inclusion
6. Les marqueurs conditionnels
7. La boucle et ses fonctions
7.1 Les principales fonctions d'affichage dans une boucle
7.2 Les principales fonctions pour récupérer des variables dans une boucle
8. Les fonctions pour les textes dans les fichiers PHP
9. Les chemins dans les URL
10. La fonction bloginfo()
11. La fonction wp_nav_menu()
12. Les hooks (filtres et actions)
12.1 Les actions
12.2 Les filtres
12.3 Ajouter des filtres et des actions dans une classe
12.4 Supprimer les filtres et les actions
12.5 Tester les filtres et les actions
12.6 L'ordre d’exécution des actions
13. Les globales
13.1 Les globales dans les boucles
13.2 Les globales pour détecter le navigateur
13.3 Les globales pour les serveurs
13.4 Les globales pour les versions de WordPress
13.5 Les globales diverses
14. Les classes de WordPress
15. La classe WP_Query et les requêtes sur le contenu
15.1 Les méthodes
15.2 Les arguments
15.2.1 Trier par catégories
15.2.2 Trier par étiquettes
15.2.3 Trier par auteurs
15.2.4 Trier par pages et par articles
15.2.5 Choisir l'ordre d'affichage
15.2.6 Plus de filtres
15.2.7 La concaténation d'arguments
15.3 Plusieurs boucles sur la même page
15.4 D'autres fonctions pour faire des requêtes
15.5 WP_Query et les fonctions
16. La classe wpdb et les requêtes au format SQL
16.1 Les méthodes utiles
16.2 Les principales méthodes de requêtes et leurs arguments
16.3 Créer des tables pour les plugins avec la fonction dbdelta()
17. La classe WP_rewrite et la réécriture d'URL
17.1 Passer une variable dans une URL avec la fonction add_rewrite_tag()
17.2 Réécrire l'URL avec la fonction add_rewrite_rule()
17.3 Régénérer les règles d'écriture
18. Les shortcodes
18.1 Créer des shortcodes
18.2 Ajouter des arguments aux shortcodes
18.3 Récupérer du contenu
18.4 Utiliser les shortcodes dans des fichiers PHP
19. Conclusion
Les thèmes basés sur des blocs
1. Introduction
2. Qu'est-ce qu'un thème basé sur des blocs ?
3. Qu'est-ce qu'un modèle de bloc ?
4. Écrire et modifier des modèles
5. Le fichier theme.json
6. La structure de base
7. La structure des préréglages
7.1 Pour les couleurs
7.2 Pour les typographies
7.3 Pour les espacements
8. Les couleurs
9. Les typographies
10. La mise en page
11. Les espacements
12. Les bordures
13. Activer et désactiver des paramètres
14. La structure des styles
15. Faire référence à un style
16. Les éléments
17. Conclusion
Les thèmes enfants
1. Qu'est-ce qu'un thème enfant ?
2. Créer et utiliser un thème enfant
2.1 Créer un dossier pour le thème enfant
2.2 Le fichier style.css
2.3 Les modèles de page
2.4 Le fichier functions.php
2.5 Le fichier theme.json pour les thèmes basés sur les blocs
2.6 Mettre en file d'attente les feuilles de style
2.7 Les chemins des dossiers enfants
2.8 Charger un dossier languages dans le thème enfant
3. Des thèmes enfants pour les extensions
Personnaliser le site avec le fichier functions.php
1. Introduction
2. Créer des fonctions simples en PHP
2.1 Afficher une image
2.2 Afficher une publicité
3. Créer une fonction fil d’Ariane simple
4. Créer une fonction pour afficher des articles d’une catégorie avec l'objet WP_Query
4.1 Une fonction simple avec get_posts()
4.2 La même fonction avec l'objet WP_Query
5. Ajouter un lien « Lire la suite » aux résumés
6. Ajouter des feuilles de style et des scripts
6.1 Les fonctions d'ajout
6.2 Des scripts mis à disposition
6.3 Inclure les styles et les scripts avec des hooks
6.4 Créer la fonction dans le fichier functions.php
7. Créer des emplacements pour les menus
8. Créer des sidebars et des zones pour les sidebars
9. Customiser un thème avec add_theme_support()
9.1 Les formats
9.1.1 Ajouter un format
9.1.2 Fonctionnement
9.1.3 Utilisation
9.2 Les photos vignettes (thumbnails)
9.2.1 Définir une taille de vignette
9.2.2 Créer une seconde vignette
9.3 Les arrière-plans (background)
9.4 Les en-têtes (headers)
9.5 Le logo
10. Ajouter d'autres types d'articles
11. Ajouter des taxonomies spécifiques
12. Conclusion
Les champs personnalisés
1. Qu'est-ce qu’un champ personnalisé ?
2. Afficher les champs personnalisés avec get_post_meta()
3. Automatiser les champs personnalisés avec add_post_meta()
4. La table wp_postmeta
5. L'extension ACF (Advanced Custom Fields)
5.1 Ajouter un nouveau groupe de champs
5.2 Récupérer et afficher la valeur des champs personnalisés dans les modèles de page
Les modèles de page
1. Qu'est-ce qu'un modèle de page ?
2. Créer des modèles de page pour l'accueil
3. Créer un modèle de page avec la section Récapitulatif - Modèle
4. Créer un modèle de page pour les thèmes classiques
5. Créer un modèle de page pour les thèmes basés sur des blocs
6. Créer d'autres modèles de page
7. Hiérarchie des modèles de page
Créer un thème classique et des fonctionnalités
1. Introduction
2. Créer le thème
3. Customiser le thème de base
3.1 Nettoyer le thème et préparer la base
3.2 Modifier la page d’accueil
4. Ajouter un logo avec la fonction add_theme_support()
5. Ajouter un onglet Options du thème
5.1 La fonction add_theme_pages()
5.2 Créer l'onglet
5.3 Les bonnes pratiques
5.4 Appeler le fichier dans functions.php
6. Mettre en place la page d'options
7. Ajouter une feuille de style CSS et un script JavaScript
8. Ajouter une image bannière
8.1 Créer une méthode comprenant un champ input de type file
8.2 Créer le code HTML
8.3 Vérifier le fichier téléchargé
8.4 Transférer l'image avec la fonction wp_handle_upload()
8.5 Utiliser les options pour enregistrer en base de données
8.6 Afficher l'image sur le site
8.7 Insérer une image par défaut dès l'activation du thème
8.8 Créer un aperçu dans l'administration
9. Créer un bouton qui remet les options par défaut
10. Choisir une couleur avec Iris (color picker)
10.1 Ajouter le script JavaScript et le CSS Iris, palette de WordPress
10.2 Ajouter la couleur par défaut
10.3 Ajouter le formulaire
10.4 Ajouter le code JavaScript pour faire fonctionner Iris
10.5 Enregistrer les informations
10.6 Afficher le résultat
11. Ajouter des textes sur la page d'accueil
11.1 Ajouter le code aux méthodes de la classe
11.2 Ajouter un éditeur WYSIWYG avec la fonction wp_editor()
11.3 Enregistrer les informations
11.4 Afficher le résultat
11.5 Ajouter du code CSS pour rendre le thème responsive
12. Ajouter une sidebar dans le footer pour la page d'accueil
13. Modification du pied de page
14. En résumé
15. Conclusion
Créer un thème classique à partir d’une maquette
1. Introduction
2. Bootstrap
2.1 Installation de Bootstrap
2.2 Rappel sur le fonctionnement de la grille Bootstrap
2.3 Les classes de mise en page : les composants
3. La maquette HTML
3.1 Création de la grille Bootstrap
3.2 Ajout du contenu HTML
3.3 Ajout du CSS
3.4 Ajout du menu responsive
3.5 Ajout des media queries Bootstrap
4. Préparer le thème
5. Importer les dossiers et fichiers dans le thème
6. Créer un template de page pour l'accueil
7. Copier le code HTML dans le thème
8. Changer les liens
9. Ajouter le logo et le titre du site par l'administration
10. Gérer le menu via l'administration
11. Ajouter les champs avec l'extension ACF
12. Ajouter des champs au footer du thème
13. Conclusion
Créer un site avec un thème basé sur les blocs
1. Introduction
2. Installation du thème et configurations
3. Configuration de l'en-tête
4. Configuration du pied de page
5. Créer le contenu de la page d'accueil
6. Conclusion
Les extensions et les widgets
1. Introduction
2. Les widgets
3. Les extensions utiles
4. Les extensions pour les blocs
5. Les extensions Page builder
6. Les extensions diaporama
7. Les extensions pour l'administration
8. Les grosses extensions
9. Les extensions pour les développeurs
La loi RGPD
1. Qu'est-ce que la loi RGPD ?
2. WordPress et la loi RGPD
3. Exportation et suppression des données
4. La page de politique de confidentialité
5. Akismet et les commentaires
6. Les cookies
7. Les newsletters
8. Les autres formulaires
9. Conclusion
Créer une extension simple en PHP
1. Introduction
2. Préparer les éléments
3. Afficher l'extension dans l'administration
4. Créer le code PHP de base
5. Ajouter une feuille de style à votre extension
6. Créer un shortcode
7. Créer un onglet dans le menu d'administration
7.1 Afficher un onglet principal
7.2 Ajouter des fonctions pour les sous-menus d'un onglet principal de WordPress
7.3 Ajouter des fonctions pour les sous-menus d'un onglet principal personnalisé
7.4 Créer l'onglet
8. Créer la même extension en objet
9. Le dossier mu-plugins
10. Conclusion
Traduire le thème et les extensions
1. Introduction
2. WordPress et les langues
2.1 Le dossier wp-content/languages
2.2 Les fichiers de langue du dossier wp-content/languages
2.3 D'autres dossiers languages
2.4 Le fonctionnement
3. Utiliser le logiciel Poedit
3.1 Télécharger et installer le logiciel
3.2 Créer le fichier de langue
3.3 Traduire
4. Utiliser les fichiers dans un thème ou une extension
5. Traduire les nouvelles chaînes
6. Traduire les pages et les articles
Optimiser et sécuriser un site
1. Introduction
2. Optimiser un site
3. Sécuriser un site
Sauvegarder un site
1. Introduction
2. Télécharger les fichiers par FTP
3. Sauvegarder la base de données
4. Rétablir le site en cas de crash
Mettre en ligne ou migrer son site
1. Introduction
2. Importer la base de données
3. Modifier les URL avec des requêtes SQL
4. Transférer les fichiers et modifier le fichier wp-config.php
Le référencement
1. Qu'est-ce que le référencement ?
2. Le référencement naturel et WordPress
2.1 Les balises H
2.2 Les permaliens
2.3 Les images
3. Optimiser son site en temps de chargement
4. Générer plus de trafic
4.1 Google My Business
4.2 Les backlinks et ancres
4.3 Le référencement payant Google Ads
5. Autres conseils
WordPress MU
1. Introduction
2. Qu'est-ce que WordPress MU ?
3. Transformer un site en WordPress MU
3.1 Activer le multisite
3.2 Configurer et choisir les URL
3.3 Modifier les fichiers wp-config.php et .htaccess
4. Gérer un réseau
4.1 Dans le panel d'administration du réseau
4.2 Dans le panel d'administration de chaque site
Annexes
1. Les liens utiles
2. Glossaire
2.1 Les langages de programmation de WordPress
2.2 Les termes WordPress, du Web et de programmation
Index
Laurent DUMOULIN
Laurent DUMOULIN est développeur, consultant et formateur spécialisé sur WordPress depuis plus de 10 ans. Il accompagne au quotidien les particuliers et entreprises dans leurs projets de développement web. Ses différentes expériences professionnelles, sa curiosité et sa passion lui confèrent une connaissance très riche de ce CMS et de ses extensions, pour le plus grand bénéfice des lecteurs de ses livres.