# functions.php

> Le fichier PHP d'un thème qui centralise sa logique applicative : déclaration de fonctionnalités, ajout de scripts, styles et hooks personnalisés.

- Auteur : Clément Hadrot
- Publié le : 2026-09-25
- Mis à jour le : 2026-09-25
- URL : https://wpmoderne.dev.wordpress-developpement.fr/lexique/functions-php/

À mi-chemin entre configuration et code applicatif, `functions.php` se comporte comme une extension automatiquement activée dès que le thème l'est : tout le code PHP qu'il contient s'exécute à chaque chargement de page, sans qu'aucune activation manuelle ne soit nécessaire.

## Ce qu'on y trouve habituellement

Ce fichier accueille typiquement l'enregistrement des zones de widgets via `register_sidebar()`, la déclaration des emplacements de menu avec `register_nav_menus()`, l'activation de prises en charge de fonctionnalités avec `add_theme_support()`, et le chargement des feuilles de style et scripts via l'action `wp_enqueue_scripts`.

## Exemple typique

```
add_action( 'wp_enqueue_scripts', function () {
    wp_enqueue_style(
        'mon-theme-style',
        get_stylesheet_uri(),
        array(),
        wp_get_theme()->get( 'Version' )
    );
} );
```

## Pièges fréquents

- Une erreur de syntaxe PHP dans `functions.php` peut rendre l'intégralité du site inaccessible (page blanche), contrairement à une erreur dans une extension isolée qui n'affecte qu'elle-même.
- Dans un thème enfant, `functions.php` ne remplace pas celui du thème parent : les deux fichiers sont chargés, celui du thème enfant en premier.
- Y placer du code métier propre au site (plutôt qu'au thème lui-même) le fragilise : un changement de thème fait disparaître ce code, alors qu'une extension personnalisée y survivrait.
