J'utilise un thème enfant Genesis pour lequel je voudrais apporter quelques modifications personnalisées, mais j'aimerais pouvoir le mettre à jour lorsqu'une nouvelle version est disponible sans perdre mes modifications. Je connais bien la pratique parent-enfant, mais comme mon thème est déjà un enfant de genèse, quelle est la meilleure façon de l'aborder?
Premièrement, j'ai essayé de créer un thème parent-enfant-enfant, mais non seulement une partie du balisage est différente, mais j'ai également perdu toutes mes sections de widgets du thème parent-enfant.
- a créé un nouveau répertoire avec style.css et a ce code:
/*
Theme Name: parent-child-child
Template: genesis
*/
@import url("../parent-child/style.css");)
Ensuite, j'ai copié tous les fichiers (functions.php, Modèles de fichiers, autres ... Je n'ai gardé que le style.css de mon premier essai) de mon thème parent-enfant à mon thème parent-enfant-enfant et cela a fonctionné, mais je crains que le code de functions.php ne soit chargé deux fois, ce qui ralentira mon site ou même le décomposera à un moment donné.
Quelle serait la bonne façon de traiter ce problème?
Merci,
Radi
D'après ma compréhension, il n'y a pas de thème grand enfant dans la version actuelle de WordPress. Ce n'est pas supporté pour le moment, mais j'ai entendu dire que WordPress le supportera dans les versions futures.
Ainsi, si vous apportez des modifications directement à votre thème enfant et que vous les mettez à niveau, toutes vos modifications auront disparu. Pour conserver vos modifications, vous pouvez faire comme ceci:
Chaque fois que votre thème enfant d'origine est mis à jour, vous devez consulter son journal des modifications, analyser les fichiers pour rechercher les modifications et les appliquer à votre nouveau thème enfant.
En théorie;
J'ai aussi examiné cette question. Jusqu'à présent, je sais que vous pouvez créer un plug-in, puis remplacer une certaine page du thème en le remplaçant, en utilisant le nom du modèle de thème, par une page personnalisée au sein d'un plug-in. Malheureusement, je ne trouve pas le moyen d'en ajouter un en utilisant le répertoire des plugins.
J'espère que cela aide.