Depuis la version 3.4 de WordPress, une nouvelle fonctionnalité est apparue dans le menu « Apparence » de l’espace d’administration : l’onglet « Personnaliser ».
Derrière ce nouvel élément se cache la possibilité de modifier toutes les options d’un thème.
Par défaut, les options modifiables sont le titre et la description de votre site. Si votre thème gère les menus, vous pouvez également choisir l’emplacement de ceux-ci via cette page.
Le grand avantage de cette nouvelle fonctionnalité réside dans la possibilité d’une prévisualisation immédiate des changements que vous souhaitez faire.
Cela peut s’avérer très utile, par exemple, si votre thème permet de choisir une couleur ou une image de fond, vous permettant d’ajuster l’aspect visuel de votre site avant validation, et donc sans impact négatif pour un éventuel visiteur.
Comment définir de nouvelles options ?
En utilisant le hook ‘customize_register‘, tout simplement.
Voici un exemple de ce que serait l’ajout d’une option « Twitter » dans le menu « Personnaliser » :
Ce simple bout de code, à ajouter dans votre fichier functions.php, génère automatiquement un nouvel onglet dans votre page de personnalisation vous permettant très simplement d’enregistrer une nouvelle option.
L’exemple ci-dessus génère un simple input. Nativement, l’API de customisation des thèmes de WordPress permet de générer des radio, checkbox, select, l’upload d’images et de fichiers, un sélecteur de couleur, un sélecteur de pages ou de catégories…
Comment récupérer et afficher ces options ?
Grâce à la fonction get_theme_mod(), tout simplement.
Par exemple, pour afficher un lien vers le compte Twitter renseigné par l’option que nous avons déjà vu dans l’exemple précédent :
Pour aller plus loin, je vous conseille la lecture du codex à ce sujet.