web-dev-qa-db-fra.com

Créer un thème en combinant un thème parent et un thème enfant

J'ai un thème parent existant et un thème enfant. J'ai besoin d'un thème qui a le pouvoir du thème parent et de la conception du thème enfant.

Est-il possible de combiner rapidement ces deux thèmes pour en faire un seul thème?

1
Kmb40

Cela peut être très délicat, mais cela devrait nous éclairer un peu. Avant de commencer, CREEZ UNE SAUVEGARDE DE DEUX THÈMES

Pourquoi les thèmes pour enfants sont-ils créés? La réponse numéro un est pour la personnalisation d'un thème parent. Cela devrait donc être votre point de départ lorsque vous combinez un thème parent et enfant. Il est à noter qu'il serait plus facile de copier du thème enfant vers le parent. En outre, supprimez tout élément du thème enfant dès que vous en avez terminé (copié ou modifié dans le thème parent) afin d'éviter toute confusion dans l'équation.

Je devrais d'abord commencer par rechercher et supprimer/ajouter/modifier tous les styles du style.css du parent qui se trouve dans le style.css du thème de l'enfant. Cela prend du temps, mais vaut la peine. Si vous démarrez et travaillez méthodiquement, vous ne devriez manquer aucun style. Cette partie pourrait être le plus gros mal de tête

Deuxièmement, il devrait y avoir des modèles, et aussi le plus simple. Les modèles des thèmes enfants sont des modèles modifiés du thème parent. Ils peuvent donc simplement être copiés et collés dans le thème parent. Pas de besoins spéciaux ici.

Enfin, il s’agit de fichiers de fonction, généralement, il s’agit simplement de functions.php. Vous devez vous débrouiller et trouver toutes les occurrences de remove dans le fichier functions.php, puis à partir de là, supprimer manuellement la fonction/action/hook du fichier functions.php parent. Vous devriez faire la même chose pour toute fonction qui modifie une fonction parent, mais ici, vous devez remplacer la fonction parent par la fonction enfant. Toutes les autres nouvelles fonctions peuvent simplement être copiées et collées

Des précautions doivent également être prises lorsque vous travaillez avec functions.php. La plupart des fonctions de bons thèmes parents sont encapsulées dans une instruction if ( ! function_exists( 'name_of_function' ) ). Dans le thème enfant, ces fonctions encapsulées dans le conditionnel peuvent simplement être écrasées dans des thèmes enfant. Ces fonctions dans le parent peuvent simplement être remplacées par l'enfant.

Cela devrait vous donner une sorte de guide pour commencer

2
Pieter Goosen