
Présentation du principe des options dans WordPress, parcours d'un exemple sur un site existant, visualisations de toutes les options d'un site web.
On va créer un plugin simple afin de commencer à manipuler les options dans notre site WordPress. Création d'un élément dans le menu du panneau de configuration.
On va expliquer le processus de création des options dans WordPress et examiner le comportement des de mise à jour
Création d'une option qui contient plusieurs valeurs dans un tableau sérialisé.
Explication du principe de la sérialisation.
On va utiliser la fonction get_option() pour récupérer les valeurs de nos options
Utilisation des fonctions update_option() et delete_option() pour gérer nos options
création d'une interface pour gérer les options
1ère méthode, on fait tout dans le même fichier
construction d'un formulaire 'libre'
création manuelle du nonce
Validation du formulaire, vérification du nonce.
créer des champs pour afficher, dans le formulaire, les options qui sont sauvegardées,
Récupérer les options sauvegardées existantes.
Utiliser la notation de tableau dans l'attribut name des champs <input>
récupérer les valeurs envoyées par le formulaire pour mettre à jour les options.
2ème méthode avec le hook admin_post_{action} (recommandé par WordPress)
l'attribut action du formulaire pointe sur admin-post.php
ajout d'un champ spécifique 'action' et création du hook personnalisé correspondant.
Réutilisation du code de validation dans la fonction associée au hook personnalisé.
Redirection vers la page initiale après validation et enregistrement des résultats
Afficher un message de succès.
Créer des constantes, charger un fichier CSS
Utiliser $current_screen pour contrôler le chargement sélectif d'un fichier dans une page spécifique du tableau de bord (gain de performances)
Appliquer quelques styles à notre formulaire
Ajouter une case à cocher et vérifier la valeur transmise
Enregistrer l'état de la case à cocher et gérer son affichage dans le formulaire avec la fonction checked() de WordPress
Insérer une image, répartir le code dans plusieurs fichiers pour une meilleure organisation et une plus grande modularité.
Créer les valeurs d'options par défaut à l'activation et effacer les options à la désactivation
Utiliser les valeurs de nos options pour afficher (ou pas) des éléments dans le site web.
Les bases de la Settings API, création d'un nouveau plugin
Création du menu avec add_menu_page() et création du formulaire pointant sur le fichier options.php
Utilisation des fonctions register_setting() et settings_fields().
Explication des champs créés par la fonction settings_fields()
Créer des sections avec add_settings_section(), afficher les sections avec do_settings_section()
Créer des champs avec add_settings_field(), créer le markup HTML pour afficher le champ <input>
Avec un graphique nous allons synthétiser le rapport entre les différentes fonctions de la Settings API
Amélioration du code pour éviter les appels multiples à la même fonction
Nous allons ajouter une deuxième section reliée à une nouvelle option dans la même page de réglages du tableau de bord
Création de la deuxième section (suite)
Création de la deuxième section (suite et fin)
Mise en place du code HTML spécifique pour afficher les onglets et gestion de la classe CSS de l'onglet actif
Nous allons changer les paramètres des settings pour dispatcher les groupes dans leurs onglets respectifs.
Créer une fonction générique réutilisable, à laquelle on peut passer des paramètres, pour afficher les champs <input> sans répéter le même code indéfiniment.
Récupérer les paramètres du champ et les passer à la fonction générique pour le champ <input> texte
Récupérer les valeurs envoyées à la fonction pour créer le markup HTML
Modifier les settings field pour utiliser la fonction générique
Création du markup, vérification de la mise à jour de l'option pour la case à cocher
Présentation du principe des boutons radio en HTML et création du setting
Création de la fonction et passage d'un tableau supplémentaire pour les valeurs de la série de boutons radio
Création des balises HTML pour les boutons radio dans la fonction générique, vérification et tests
Présentation du principe des listes select en HTML et création du setting
Finalisation de la fonction et test de la liste déroulante
Création d'un nouveau setting_field et ajout du chargement d'un script Javascript spécifique à la page
mise en place d'un écouteur sur un bouton pour ouvrir le gestionnaire de Médias de WordPress
Retour sur les subtilités à prendre en compte lorsque l'on désactive le plugin et lorsqu'on le réactive, en ce qui concerne les valeurs par défaut des options
Installation d'un plugin de développement qui nous affiche le HTML et les styles utilisés dans l'interface de l'administration de WordPress
Insérer un setting field dans une page de l'administration en utilisant une section existante de WordPress
Dupliquer le rôle editor et lui ajouter la permission 'manage-options' afin qu'il puisse accéder aux options que nous avons créées
Brider le nouveau rôle créé afin de l’empêcher d'accéder à des pages sensibles du panneau de configuration
Refactoring: pour une meilleure organisation, on va déplacer l'option "âge du capitaine" dans son propre fichier
Fonctions de validation, création du corps de la fonction
Nettoyage des chaînes saisies dans les formulaires, restriction des caractères autorisés dans un champ grâce à une expression régulière
Dans cet atelier nous allons réaliser une entête (header, ou banner) que vous pourrez afficher n'importe où dans votre site WordPress. Le contenu de cet entête (image, overlay de couleur, texte) sera géré au niveau du tableau de bord, dans un groupe de settings situé dans un onglet spécifique.
Nous allons créer un nouvel onglet dans notre page d'option actuelle afin d'héberger les nouveaux réglages et nous entamerons une réflexion sur la numérotation de nos options et fichiers.
Dans ce cours vous allez apprendre comment fonctionnent les Options et les Settings dans WordPress.
Mise à jour MARS 2025, nouvelle section!
Je viens de créer une nouvelle section sous la forme d'un atelier pratique afin de mettre en application toute la théorie que nous avons étudiée dans les premières vidéos.
Dans la section 10 (23 vidéos - durée 2H15) nous allons créer une entête pour un site web avec une image, un masque de couleur transparent et des éléments de texte, tous ces éléments seront gérés avec la settings API et stockés dans des options.
Contenu initial du cours:
Les options sont des paramètres qui sont propres au site WordPress en général.
Wordpress en utilise un nombre important pour faire fonctionner le site:
l'url de base du site web
l'email de l'administrateur
le langage du site
la structure des permaliens
et beaucoup d'autres...
En tant que développeur vous pouvez créer des options personnelles pour votre site WordPress et les mettre à disposition de l'utilisateur (client final):
des variables binaires pour piloter l'affichage conditionnel de certaines zones (ex: case à cocher)
des zones de texte pour stocker des éléments à afficher (ex: adresse de réseau social)
une image prise dans la bibliothèque de Médias (ex: logo du site ou éléments d'un diaporama)
Les Settings dans WordPress désignent les éléments de l'interface du tableau de bord qui permettent de gérer les valeurs des options.
Il existe trois méthodes pour créer des interfaces de gestion de nos Options:
Créer tout notre code dans un fichier procédural pour afficher et valider les valeurs entrées dans les formulaires
Créer notre code mais utiliser un mécanisme de validation fourni par WordPress avec le hook admin_post_{$action}
Utiliser les fonctions de la Settings API pour créer plus facilement, et de manière optimisée, tout le code nécessaire à la gestion de nos options.
La Settings API nous propose des fonctions intégrées afin de composer des éléments de formulaires qui vont s'intégrer automatiquement soit dans des pages d'administration de WordPress déjà existantes soit dans des pages d'administration personnalisées que nous créerons nous même.
La Settings API n'est pas l'API la plus populaire de WordPress et son apprentissage est parfois difficile étant donné le nombre de fonctions à faire cohabiter ainsi que leurs nombreux paramètres.
Dans cette formation je vais vous expliquer comment comprendre et utiliser efficacement la Settings API, on avancera progressivement en vérifiant l'impact de chaque fonction au fur et à mesure de son introduction, avec l'aide de graphiques récapitulatifs.
Ce que nous allons réaliser:
Comprendre le fonctionnement des options
Vérifier comment les options sont stockées dans la base de donnée (sérialisation)
Gérer les options: créer, modifier, supprimer
Intégrer des pages de réglage dans l'administration de WordPress
Utiliser des menus existants ou bien créer notre propre menu dans le panneau de configuration
Créer des interfaces pour saisir les valeurs des options
Créer des onglets dans les pages d'administration
Gérer tous les contenus: texte, case à cocher, listes, boutons radio, images de la librairie de Médias
Manipuler les fonctions de WordPress pour récupérer une image de la bibliothèque depuis son ID
Récupérer les valeurs de nos options pour les exploiter dans le site web
charger des scripts et styles uniquement dans les pages de réglage que nous créons
Gérer finement les permissions pour donner accès à nos options à l'utilisateur final en toute sécurité