functions.php (thème)
Définition : Le fichier functions.php permet à un thème WordPress de déclarer ses fonctionnalités et de s’abonner aux hooks. Il est chargé lors de l’exécution du thème, sans servir de modèle de page.
Terminologie
Nom technique : functions.php (thème)
Appellations : Nom principal utilisé
À quoi cela sert, concrètement
Il regroupe des ajustements visuels, la déclaration de menus, des supports de thème ou le chargement de ressources, tout en restant lié au cycle de vie du thème actif.
Fonctionnement détaillé
WordPress charge functions.php du thème actif, ainsi que celui du parent si un thème enfant existe. Les callbacks qu’il y déclare réagissent ensuite aux hooks appropriés du Core. Sa simple présence n’affiche pas un élément sur une page.
Quand l’utiliser : contexte et choix techniques
L’utiliser pour des responsabilités propres au thème, par exemple une palette, un menu, un support d’image ou un asset. Placer dans un plugin les fonctionnalités qui doivent survivre à un changement de thème.
Situation professionnelle réaliste
Un thème déclare son support des miniatures et laisse WordPress générer la balise de titre à la place d’une balise HTML codée en dur.
Exemple pratique — PHP commenté
Exemple pédagogique : adapter le nom du thème, les fichiers et les conditions à un environnement de développement. Il ne constitue pas une preuve d’exécution sur ATOOLPHA.
<?php
// functions.php : fonctions propres à l’apparence du thème.
add_action( 'after_setup_theme', function () {
add_theme_support( 'title-tag' );
add_theme_support( 'post-thumbnails' );
} );
add_action( 'wp_enqueue_scripts', function () {
wp_enqueue_style(
'atoolpha-demo', get_stylesheet_uri(), array(), '1.0.0'
);
} );
Décryptage de l’exemple, étape par étape
Le premier callback s’exécute pendant la préparation du thème ; le second intervient lorsque WordPress prépare les assets de la partie publique. Les hooks ordonnent ces déclarations sans écrire directement des balises link dans la page.
Résultat observable
Le thème fournit les supports annoncés et sa feuille principale est placée dans la file des styles. Le rendu final dépend des templates et de leur utilisation des API.
Exercice de vérification pratique
Dans une copie du thème, identifier chacune des deux actions, puis contrôler dans le HTML public le chargement de la feuille et dans l’administration la disponibilité des images mises en avant.
Pièges, limites et sécurité
Ne pas exécuter systématiquement des traitements lourds au chargement de functions.php. En thème enfant, ce fichier ne remplace pas celui du parent ; attention aux collisions de noms des fonctions.
Différences avec les notions voisines
functions.php n’est pas un plugin autonome ni un template d’affichage ; son chargement dépend du thème actif.
Diagnostic avancé et cas de maintenance
Cas avancé : un changement de thème entraîne une erreur fatale parce qu’une extension appelle une fonction auparavant définie dans functions.php. La dépendance est architecturale : la fonctionnalité commune devrait appartenir à une extension ou faire l’objet d’un contrat explicite, sans supposer la permanence du thème.
Termes et fonctions associés
- Thème WordPress
- add_theme_support()
- wp_enqueue_style()
