web-dev-qa-db-fra.com

Comment mettre à jour le noyau ou les thèmes WordPress tout en maintenant le fonctionnement de mes crochets de thème enfants

J'ai créé un thème pour enfants basé sur le thème WordPress vingt-douze (c'est-à-dire que le thème WordPress "vingt-douze" est son parent).

Certaines modifications ont été effectuées très simplement en redéfinissant le style, en utilisant mes propres propriétés CSS et des sélecteurs dans le fichier style.css du thème enfant (par exemple, différentes valeurs de propriété pour # div, ou autre).

D'autres modifications ont été effectuées par des crochets, introduisant mes propres fonctions dans le fichier functions.php du thème enfant, puis les appelant en plaçant du code dans les fichiers header.php (initialement dupliqués), footer.php ou ailleurs. Par exemple, j'ai ajouté une div supplémentaire dans chaque page en écrivant une nouvelle fonction dans le functions.php du thème enfant, qui renvoie simplement le code HTML, puis en insérant l'appel de cette fonction à l'emplacement approprié dans la copie d'en-tête du thème enfant. php.

Très simple, je sais. En tant que débutant, je suis extrêmement satisfait des résultats que j'ai obtenus: le thème du parent "vingt-douze" a été transformé par ces modifications du thème de l'enfant en quelque chose de totalement différent, et c'était exactement ce que je voulais. Je sens que je pourrais transformer le thème des douze douze en une variété de styles très différents.

Jusqu'ici tout va bien. Mais maintenant, je suis confronté à la question des mises à jour de WordPress. Lorsque je mets à jour WordPress vers une nouvelle version, ou même simplement le thème "vingt-douze" vers une nouvelle version, les points d'ancrage (que j'ai placés dans le header.php ou le footer.php de mon thème enfant, ou ailleurs) risquent de ne pas fonctionner, car la structure du code du thème parent pourrait radicalement changer. (Je me rends compte qu'une grande partie de celle-ci ne changerait probablement pas , du moins pour un temps, étant un truc de base, mais un jour, cela pourrait, ou pourrait être tenté de modifier du code qui pourrait plus facilement être changé.)

Alors qu'est-ce que je fais? J'ai pensé faire une liste exhaustive de toutes les modifications que je faisais. Ainsi, lorsque je devrais effectuer une mise à jour, je devrais parcourir chaque élément de la liste et vérifier les nouveaux fichiers pour voir s'il était ou non possible que mes modifications fonctionnent comme avant. Mais cela pourrait prendre beaucoup de temps et être source d'erreur.

Alors, y a-t-il un meilleur moyen de faire toutes ces modifications de thèmes enfants et de mettre à jour les fichiers et thèmes centraux de WordPress sans trop de problèmes?

Je suppose que je recherche un mécanisme qui permette de vérifier plus facilement que les points d'ancrage de modification fonctionnent toujours dans les fichiers header.php ou footer.php du thème de l'enfant, ou ailleurs, lorsque je mets à jour WordPress - ou qui évite de devoir le faire. chèques. C'est si j'ai tout ce droit bien sûr!

J'ai l'impression que le cadre de 'genèse' fait cela - est-ce que j'ai bien compris? Si oui, comment fait-il? Mais pourquoi dois-je acheter un thème? Les modifications que j'ai apportées au thème "vingt-douze" de WP fonctionnent très bien pour moi; si possible, je voudrais rester avec ma modification de ce thème. Puis-je utiliser "genèse" avec le thème "vingt-douze"?

1
John Doe

Le concept même de thème enfant est de laisser vos modifications intactes lors de la mise à jour. Vous utilisez le thème enfant pour la maintenance. Mais ce doit être le même thème. Je veux dire que vingt douze et vingt treize ne sont pas le même thème.

Donc, lorsque le thème est mis à jour, vous n'avez rien à faire. En ce qui concerne les mises à jour de fichiers WP, cela ne devrait rien changer à moins que vous n'ayez piraté le noyau qui n'est pas recommandé.

2
JMau

Il est vrai que lorsque vous écrivez un thème ou un plug-in dans le logiciel de quelqu'un d'autre, vous dépendez de ce logiciel. Avec chaque mise à jour, il est possible que le logiciel de base ait changé et quelque chose dans votre thème ou plugin ne fonctionnera plus correctement.

Cela étant dit, WordPress en tant que projet fait un travail incroyable en restant compatible avec les versions antérieures lorsque cela est possible. WordPress supprime rarement les points d'ancrage une fois qu'ils ont été ajoutés, et lorsque WordPress souhaite supprimer une fonction, il la désapprouve d'abord, en fournissant un avertissement au développeur pour plusieurs versions avant qu'elle ne soit réellement supprimée. Puisque le thème Twenty Twelve est également écrit par le projet WordPress, vous pouvez vous attendre à la même attention aux détails.

Un développeur de plugins ou de thèmes doit tester son code avec chaque nouvelle version de WordPress. Puisque vous êtes votre propre développeur de thèmes, cela vous incombe. Familiarisez-vous avec le processus de débogage . En activant la constante WP_DEBUG lors des tests, vous serez averti de toutes les fonctions que vous utilisez, obsolètes et susceptibles d'être supprimées. Pour chaque nouvelle version de WordPress, lisez l'article du codex qui fournit une vue d'ensemble des modifications et recherchez tout ce qui pourrait affecter votre logiciel.

1
Ben Miller