26 Juin 2019

Override functions.php wordpress dans votre child theme

Si vous faites des modifications dans votre thème WordPress, vous utilisez peut-être un thème enfant. Bien qu’il soit assez simple de créer un override pour du CSS, c’est un peu différent pour modifier un élément du function.php. Voyons comment faire.

Pourquoi utiliser un thème enfant pour modifier le function.php ?

Il permet de faire un override de votre code par rapport à celui d’origine. Cette surcouche ne sera pas écrasé en cas de mise à jour de votre site internet WordPress. Certains templates que vous achetez sont régulièrement mit à jour par leur développeur pour suivre l’évolution de WordPress. Si vous ne faites pas vos modifications du code, dans le thème enfant, lors de la prochaine mise à jour les fichiers d’origine seront à nouveau présent.

Comment modifier une fonction dans le function.php du thème enfant ?

J’ai fais cet article suite à une intervention sur un thème Divi. C’est un des thème les plus populaires sur WordPress. Donc je sais que mon tutoriel fonctionne bien.

Dans mon cas, je devais modifier la fonction qui permet d’afficher une restriction par mot de passe d’une page ou d’un article.

J’ai donc fais une modification dans le function.php du child theme comme ceci :

function le_nom_de_votre_nouvelle_fonction() {
// Collez ici votre modification
}
add_action( 'the_password_form', 'le_nom_de_votre_nouvelle_fonction', 15 );

remove_action( 'the_password_form', 'et_password_form' );

the_password_form est la fonction existant que je devais modifier sur le thème Divi.

On déclare une nouvelle fonction ‘le_nom_de_votre_nouvelle_fonction’ en modifiant la fonction d’origine.

Ensuite on la déclare avec add action.

Puis on désactive la fonction d’origine avec remove pour que la nouvelle la remplace.

Et voilà 🙂