Le fichier functions.php

Le fichier functions.php est un fichier très important dans WordPress ; c’est là qu’on doit y mettre tous les petits ajouts,les fonctionnalités “coup de pouce”, ou des fonctions qui modifient le comportement du système.

En temps normal, vous pouvez le retrouver à la racine de votre thème sous ce nom précis “functions.php”, ou vous devez le créer dans votre thème enfant (attention certaines boutiques de thèmes comme Themify demandent de créer le fichier “costum-functions.php” à la place).

Pour les thèmes enfants, WordPress va charger les fichiers présents dans le dossier du thème enfant et ignorer les fichiers identiques du thème parent, mais pour le fichier functions.php, WordPress va agir différemment.
Il va charger celui du thème enfant et charger ensuite le fichier functions.php du thème parent.
Il ne faut donc surtout pas « copier/coller » le fichier du thème parent mais repartir d’un fichier vide pour le thème enfant. Et dans ce dernier on déclarera uniquement les fonctions dont on a besoin. C’est pourquoi on peut remarquer que certaines fonctions ajouté dans le fichier functions.php de votre thème plante le thème (« Cannot redeclare function_name()… »), elles sont peut-être déjà présente dans celui d’origine car PHP ne peut pas déclarer 2 fois la même fonction.

Si le boulot est bien fait sur le thème initial, on doit retrouver dans le fichier de base la fonction suivante :

if ( ! function_exists('nom_de_la_fonction')) {
...
}

De ce fait, quand le functions.php du thème parent est chargé en second, s’il voit que la fonction a déjà été déclarée, il passe son chemin, sinon, il la crée sans souci.