WordPress : Meilleures pratiques – Dois-je créer un thème enfant ou personnaliser un thème de framework ? (comme la réinitialisation HTML5)

Publié par Jean-Michel le

J’ai créé un certain nombre de sites WordPress et j’ai fréquemment travaillé avec le thème de réinitialisation HTML5.

Mon flux de travail a consisté simplement à modifier les fichiers du thème car j’utilise souvent pas mal de boucles personnalisées CSS, php et wp_query, etc. En fin de compte, le thème est vraiment très différent du thème de réinitialisation HTML5 d’origine.

Cependant, je me demande s’il y a une raison particulière pour laquelle je devrais plutôt créer un thème enfant? Je trouve que je fais tellement de personnalisation que pour moi, je n’utilise vraiment la réinitialisation HTML5 que pour son en-tête, son pied de page et sa structure html de base. Je ne sais pas vraiment comment je pourrais vraiment implémenter un thème enfant et gérer suffisamment de personnalisation.

Ma question est donc – en tant que meilleure pratique, devrais-je toujours utiliser un thème enfant et avoir fondamentalement tellement de fichiers identiques remplaçant le parent que ce n’est même pas vraiment nécessaire?

Pour moi, je ne peux voir les thèmes enfants que comme un moyen de personnaliser le parent tout en conservant la majorité de l’apparence/de la fonction. Est-ce une perception erronée ?

Merci d’avance!

Solution n°1 trouvée

La question de base est : avez-vous l’intention de mettre à niveau le thème de réinitialisation HTML5 à l’avenir, et si oui, souhaitez-vous que vos thèmes héritent de cette fonctionnalité ? Si tel est le cas, un thème enfant est la solution. Si ce n’est pas le cas, la construction d’un nouveau thème est la voie à suivre. Personnellement, j’évite les thèmes enfants à moins que le but ne soit spécifiquement d’avoir sensiblement les mêmes fonctionnalités que le thème parent, mais avec de légères modifications.

Je me retrouve dans la même situation que vous avez décrite – en ce sens que je crée de nombreux thèmes, et ce que j’ai fait est de créer un thème « de base » solide que j’utilise comme point de départ, puis d’y ajouter – tout comme vous l’avez décrit vous faire.

Je ne suis pas fan des thèmes pour enfants car ils ajoutent un peu de surcharge. Bien que je sois sûr que certains discuteront avec moi à ce sujet (php est géré sur le serveur, et donc la surcharge est minime), je tiens fermement à ma position. WordPress est fantastique, mais l’une de ses vulnérabilités est la tendance des utilisateurs à créer ce que j’appelle du « gonflement » – l’ajout de nombreux plugins à un site, ce qui ajoute du code – du code souvent écrit par des codeurs inconnus dont les problèmes de sécurité et l’efficacité du codage pourraient être discutable. Les thèmes enfants contribuent, bien que de façon minime, à ce gonflement du code. À partir du Codex WordPress « Au lieu de cela, [le fichier functions.php du thème enfant] est chargé en plus du fichier functions.php du parent. (Plus précisément, il est chargé juste avant le fichier du parent.) « . Et, si vous regardez la façon dont les styles sont gérés, vous importez les styles du thème parent, puis ajoutez/écrasez avec les vôtres – ce qui ne fait pas l’empreinte css la plus petite et la plus efficace (ce qui aura un effet sur les vitesses de téléchargement) .

Donc, pour récapituler en fonction de ce que VOUS faites : lorsque vous créez un nouveau thème, évaluez la principale raison d’utiliser un thème enfant – pour capitaliser sur la fonctionnalité du thème parent et pour préserver l’évolutivité de votre thème enfant via le thème parent. Si vous n’avez pas besoin de conserver la possibilité de mettre à niveau, votre thème sera plus efficace si vous créez un nouveau thème au lieu d’un thème enfant.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *