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 :
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à 🙂
Tout d abord, je tenais a te remercier pour ce super tuto tres interessant ! Toutefois, je rencontre des problemes avec le fichier css de mon theme enfant. Toutes les modifications que j apporte a celui-ci ne sont pas prises en compte sur le front ? J ai pourtant bien suivi toutes les etapes necessaires a la creation d un theme enfant mais rien y fait ! Une idee ? Merci
Merci bien 🙂
Il y a 2 raisons :
– Le fichier n’est pas chargé et donc il y a un problème dans la configuration (il faut vérifier sur le front dans le code si le fichier est bien chargé)
– Vérifiez si vous n’avez pas un système de cache par plugin et/ou sur l’hébergeur