WordPress et ses extensions
Développez votre site de A à Z (théorie, TP, ressources)
Éditions ENI
Chapitre 1
Avant-propos
1. Introduction15
2. À qui s'adresse cet ouvrage ?16
3. Prérequis17
4. Objectifs du livre18
Chapitre 2
Word Press et les extensions
1. Introduction19
2. Qu'est-ce que WordPress ?19
2.1 La licence GNU GPL20
2.2 Les avantages de WordPress21
2.3 Les inconvénients de WordPress22
3. Le codex de WordPress et la documentation22
4. Installer WordPress26
4.1 Créer la base de données27
4.2 Transférer les fichiers WordPress28
4.3 Configurer le site30
4.4 Les différents identifiants36
5. Aperçu de l'administration37
5.1 Se connecter à l'administration37
5.2 Le menu principal39
5.3 L'onglet Extensions60
5.4 Les menus d'aide65
6. WordPress et PHP66
6.1 La structure des fichiers et dossiers WordPress66
6.2 Le dossier wp-content68
6.3 La base de données WordPress69
6.4 La structure d'un thème73
6.5 Les conditions73
6.6 La boucle et ses fonctions78
6.7 Les fonctions pour les textes dans les fichiers PHP81
6.8 Les chemins dans les URL84
6.9 La fonction bloginfo()85
6.10 Les hooks88
6.11 Les globales97
6.12 Les classes de WordPress100
6.12.1 La classe WP_Query et les requêtes sur le contenu101
6.12.2 La classe wpdb et les requêtes au format SQL109
6.12.3 La classe WP_rewrite et la réécriture d'URL114
6.13 Les shortcodes118
7. Comment fonctionnent les extensions ?122
7.1 Wp et les extensions natives123
7.2 Mettre à jour les extensions127
7.3 Les différentes extensions129
7.4 La loi RGPD et les extensions130
8. Conclusion131
Chapitre 3
Les extensions et les widgets
1. Introduction133
2. Les widgets136
3. Les extensions utiles143
4. Les extensions pour les blocs157
5. Les extensions Page Builder160
6. Les extensions diaporama167
7. Les extensions pour l'administration172
8. Les grosses extensions191
9. Les extensions pour les développeurs195
10. Conclusion197
Chapitre 4
Créer une page d'attente - Maintenance
1. Introduction199
2. Installation de l'extension Maintenance200
3. Configuration de l'extension Maintenance201
4. Conclusion204
Chapitre 5
Construire un site - Elementor
1. Introduction205
2. Installation de l'extension Elementor207
3. Création de l'arborescence du site et premiers réglages du site208
3.1 Création des pages208
3.2 Création du menu209
3.3 Définir la page Accueil comme page d'accueil209
3.4 Réglage des permaliens210
4. Création de l'en-tête du site211
5. Création du pied de page215
6. Création du contenu de la page d'accueil220
7. Conclusion224
Chapitre 6
Ajouter un formulaire - Contact Form 7
1. Introduction225
2. Installation de l'extension Contact Form 7226
3. Ajouter le formulaire à la page Contact227
4. Comment fonctionne le système de formulaire ?228
5. Ajouter un CAPTCHA234
6. Conclusion236
Chapitre 7
Accepter les cookies - Cookie Notice
1. Introduction237
2. Installation de l'extension Cookie Notice238
3. Les options de l'extension de Cookie Notice239
4. Conclusion242
Chapitre 8
Ajouter une newsletter - MailPoet
1. Introduction245
2. Installation de l'extension MailPoet et ses options246
3. Créer un système de newsletters256
3.1 Créer une liste pour la newsletter256
3.2 Créer un formulaire d'inscription à la newsletter257
3.3 Insérer le formulaire de la newsletter260
3.4 Créer une newsletter263
3.5 Envoyer la newsletter à votre liste de diffusion267
4. Créer un e-mail de bienvenue automatique270
5. Conclusion274
Chapitre 9
Créer une extension simple en PHP
1. Introduction275
2. Préparer les éléments276
3. Afficher l'extension dans l'administration277
4. Créer le code PHP de base280
5. Ajouter une feuille de style à votre extension285
6. Créer un code court (shortcode)286
7. Créer un onglet dans le menu d'administration289
7.1 Afficher un onglet principal289
7.2 Ajouter des fonctions pour les sous-menus d'un onglet principal de WordPress290
7.3 Ajouter des fonctions pour les sous-menus d'un onglet principal personnalisé291
7.4 Créer l'onglet291
8. Créer la même extension en objet293
9. Le dossier mu-plugins296
10. Conclusion297
Chapitre 10
Créer une extension widget en PHP
1. Introduction299
2. Configurer l'extension300
3. La classe WP_Widget301
4. Configurer le widget303
5. Enregistrer le widget avec la fonction register_widget()305
6. Afficher le widget grâce à un hook306
7. Créer le formulaire du widget308
7.1 Ajouter les champs HTML308
7.2 Ajouter les méthodes get_field_id() et get_field_name()309
7.3 Ajouter des paramètres par défaut310
8. Enregistrer et mettre à jour les options du widget313
9. Afficher le widget dans la colonne latérale (sidebar)314
10. Conclusion318
Chapitre 11
Créer une extension avec PHP/MySQL
1. Introduction319
2. Préparer les éléments320
3. Construire la classe322
4. Créer et supprimer la table323
4.1 Créer la table324
4.2 Supprimer la table lors de la désactivation de l'extension326
4.3 Supprimer la table lors de la suppression de l'extension329
5. Ajouter le sous-menu de l'extension et la page de configuration330
5.1 Ajouter le sous-menu330
5.2 Afficher la page d'administration332
5.3 Créer le formulaire pour enregistrer les cartes332
6. Ajouter les fichiers JavaScript et CSS333
6.1 Ajouter les fichiers333
6.2 Faire appel au hook d'action load-(page)334
6.3 Vérifier les champs du formulaire avec jQuery335
7. Enregistrer les cartes338
7.1 Récupérer et vérifier les variables338
7.2 Enregistrer la carte avec une requête INSERT339
7.3 Rediriger après l'insertion340
8. Créer un menu avec les différentes cartes341
8.1 Récupérer toutes les cartes avec une requête SELECT342
8.2 Créer le menu avec une boucle342
9. Afficher les pages cartes344
9.1 Mettre en place un second template344
9.2 Ajouter le menu au second template345
10. Afficher l'aperçu d'une carte et ajouter son titre346
10.1 Récupérer l'id de la carte avec une requête SELECT346
10.2 Ajouter le code JavaScript de l'API Google Maps346
11. Mettre à jour les cartes349
11.1 Créer le formulaire pour la mise à jour des cartes349
11.2 Récupérer et vérifier les variables351
11.3 Mettre à jour les informations avec une requête UPDATE352
11.4 Rediriger l'utilisateur vers là carte après la mise à jour354
12. Supprimer les cartes355
12.1 Créer un bouton pour supprimer la carte355
12.2 Récupérer et vérifier les variables356
12.3 Supprimer la carte avec une requête DELETE356
12.4 Rediriger l'utilisateur après la suppression357
13. Afficher la carte sur le site côté utilisateur avec un code court358
13.1 Ajouter l'appel JavaScript à l'API Google Maps358
13.2 Créer des codes courts pour chaque carte358
13.3 Afficher le code sur la page de chaque carte359
14. Conclusion363
Chapitre 12
Créer une extension avec Ajax et JSON
1. Introduction365
2. Préparer les éléments366
2.1 Configurer l'extension366
2.2 Construire la classe367
2.3 Créer la table369
2.4 Supprimer la table lors de la suppression de l'extension370
2.5 Ajouter un sous-menu et la page de configuration371
2.6 Ajouter les fichiers JavaScript et CSS372
3. Créer le code court et l'ajouter au site373
3.1 Créer le code court373
3.2 Insérer le code court374
3.3 Afficher le code dans l'administration pour les utilisateurs377
4. Vérifier les champs du formulaire en jQuery378
5. Effectuer la requête Ajax380
5.1 WordPress et Ajax380
5.2 Transmettre des variables PHP au fichier JavaScript381
5.3 Générer une clé de sécurité381
5.4 La fonction Ajax382
6. Récupérer les données et enregistrer une adresse e-mail383
6.1 Les hooks. d'action wp_ajax_(action) et wp_ajax_nopriv_(action)383
6.2 Vérifier la clé de sécurité384
6.3 Enregistrer l'adresse e-mail avec une requête d'insertion385
6.4 Vérifier les doublons avant l'insertion386
6.5 Transmettre la réponse à la requête Ajax387
6.6 Ajouter une image de chargement (loader)388
7. Afficher et gérer les adresses e-mail dans l'administration390
7.1 Ajouter une méthode listant les adresses e-mail390
7.2 Créer un tableau avec toutes les adresses e-mail390
7.3 Créer une liste d'adresses e-mail pour la copier-coller facilement394
8. Supprimer des adresses e-mail396
8.1 Créer un événement JavaScript sur le bouton de suppression396
8.2 Transmettre les variables au fichier JavaScript397
8.3 Créer la requête Ajax397
8.4 Créer le hook et la méthode pour la requête Ajax398
8.5 Créer la méthode de suppression398
8.6 Supprimer et transmettre la réponse à la requête Ajax399
8.7 Mettre à jour la liste et vérifier que le tableau n'est pas vide400
8.8 Ajouter une image de chargement (loader)401
9. Conclusion402
Chapitre 13
Soumettre une extension à WordPress
1. Introduction403
2. Les prérequis WordPress403
2.1 La licence404
2.2 Le fichier readme.txt405
3. Soumettre l'extension407
3.1 Créer un compte sur wordpress.org407
3.2 Envoyer l'extension408
3.3 Le dossier de subversion SVN409
4. Conclusion410
Chapitre 14
Traduire son site - WPML
1. Introduction411
2. Installation de l'extension WPML412
3. Configurer WPML415
3.1 La page de configuration rapide415
3.2 Le menu de WPML421
3.3 Ajouter une langue ou changer la langue par défaut422
3.4 Changer les URL pour les langues424
3.5 Ajouter un sélecteur de langues à votre site425
4. Traduire le site428
5. Traduire les autres éléments du site432
5.1 Les menus432
5.2 Les widgets434
5.3 Les médias435
5.4 Les taxonomies436
6. Traduire les extensions437
6.1 Traduire Contact Form 7437
6.2 Traduire vos extensions438
7. Les add-ons (extensions) gratuits de WPML441
8. Conclusion442
Chapitre 15
Optimiser et sécuriser un site
1. Introduction443
2. Optimiser un site444
2.1 Quelques conseils pour optimiser son site444
2.2 Nettoyer la base de données avec l'extension WP-Optimize446
2.3 Mettre son site en cache avec l'extension WP Super Cache451
2.4 Optimiser les images de son site avec Smush453
3. Sécuriser un site455
3.1 Quelques conseils pour sécuriser votre site455
3.2 Sécuriser un site avec l'extension Wordfence457
4. Conclusion459
Chapitre 16
Sauvegarder, rétablir ou migrer un site
1. Introduction461
2. L'extension BackWPup462
2.1 Sauvegarder le site463
2.2 Rétablir le site467
3. Sauvegarder le site avec l'extension-Duplicator467
4. Sauvegarder le site469
4.1 Rétablir ou migrer le site472
5. Conclusion477
Chapitre 17
Le référencement
1. Introduction479
2. Le référencement naturel SEO et WordPress480
3. Référencer un site avec l'extension Yoast481
3.1 Les réglages généraux486
3.1.1 La section Général487
3.1.2 La section Types de contenu492
3.1.3 La section Taxonomies494
3.1.4 La section Avancé495
3.2 Référencer les pages et les articles498
3.2.1 L'onglet SEO499
3.2.2 L'onglet Lisibilité502
3.2.3 L'onglet Schema503
3.2.4 L'onglet Réseaux sociaux503
4. Conclusion505
Chapitre 18
Vendre en ligne - WooCommerce
1. Introduction507
2. Installation de WooCommerce508
3. Configuration de WooCommerce511
3.1 L'onglet Accueil511
3.2 L'onglet Commandes514
3.3 L'onglet Clients516
3.4 L'onglet Rapports516
3.5 L'onglet Réglages517
3.5.1 L'onglet Général517
3.5.2 L'onglet Produits519
3.5.3 L'onglet TVA523
3.5.4 L'onglet Expédition525
3.5.5 L'onglet Paiements527
3.5.6 L'onglet Comptes et confidentialité531
3.5.7 L'onglet E-mails532
3.5.8 L'onglet Intégration534
3.5.9 L'onglet Avancé535
3.5.10 L'onglet Multi-Currency539
3.6 L'onglet État540
3.7 L'onglet Extensions546
4. Configuration des produits546
4.1 Le menu principal546
4.2 Créer un produit548
4.2.1 Choisir le type de produit et l'onglet Général550
4.2.2 L'onglet Inventaire551
4.2.3 L'onglet Expédition552
4.2.4 L'onglet Produits liés552
4.2.5 L'onglet Attributs553
4.2.6 L'onglet Variations554
4.2.7 L'onglet Avancé555
5. Les statistiques555
6. Le marketing557
7. Les widgets559
8. Les modèles de pages de WooCommerce563
3.1 Les pages de WooCommerce et les codes courts563
3.2 Les fichiers du template de WooCommerce565
3.3 Créer un thème enfant WooCommerce567
9. Les extensions WooCommerce568
10. Les classes WooCommerce575
10.1 Récupérer les informations dès produits avec WC_Product576
10.2 Récupérer les informations du panier avec la classe WC_Cart580
10.3 Récupérer les informations sur la commande avec la classe WC_Order582
11. Les marqueurs conditionnels de WooCommerce586
12. Les hooks WooCommerce587
12.1 Les hooks d'action sur les pages Boutique, Archive et Catégorie588
12.2 Les hooks d'action sur la page Produit591
12.3 Les hooks d'action sur la page Panier595
12.4 Les hooks d'action sur la page Commande597
12.5 Les hooks d'action sur la page Mon compte - Connexion599
12.6 Les hooks d'action sur la page Mon compte600
12.7 Les hooks d'action après un achat selon le statut de commande605
12.8 Les hooks d'action des e-mails WooCommerce605
13. WooCommerce et WPML607
14. WooCommerce et Yoast SEO611
15. Conclusion613
Annexes
1. Les liens utiles615
2. Glossaire618
2.1 Les langages de programmation de WordPress618
2.2 Les termes WordPress, du Web et de programmation619
Index627