Thème débutant vs thème parent? Avantages et inconvénients

10

Je construis un thème à utiliser comme exemple pour d'autres sites Web de l'entreprise dans laquelle je travaille. Dans un autre projet, nous avons utilisé le thème parent hybride et il était vraiment facile à construire, mais vraiment difficile à maintenir le site Web.

Je préfère l'approche Starter Theme, qu'un autre développeur copie le thème et crée à partir de celui-ci. Le parent-> enfant donne trop de liberté au développeur pour gâcher le code. Par exemple, je ne savais pas si quelque chose était appelé sur l'enfant ou sur le parent.

J'aimerais avoir de vos nouvelles:

  • Quand un thème Parent est meilleur?
  • Quand un thème de démarrage est meilleur?
  • Quels sont les avantages et les inconvénients de chacun d'eux?

Merci.

romulodl
la source
2
Un vote serré comme non constructif : "Nous nous attendons à ce que les réponses soient étayées par des faits, des références ou une expertise spécifique, mais cette question suscitera probablement un débat, des arguments, un sondage ou une discussion approfondie."
Chip Bennett
4
La question se pose des faits. Peut-être que la partie opinion devrait être supprimée… Voir aussi Bon subjectif, Mauvais subjectif .
fuxia
Je pourrais juste modifier ma première question, ou la supprimer
romulodl
2
@romulodl - il suffit de modifier la question et supprimer « opinion » - pas besoin de supprimer, je pense
Anu

Réponses:

11

Je suis totalement d'accord avec Rarst . Je veux juste ajouter quelques petites choses.

Remarque: je différencie le thème et le cadre parent. Dans ma réponse, je considère le thème parent comme TwentyEleven où il est principalement créé pour un site Web spécifique et moins de hooks qu'un framework.

Thème de démarrage:

Avantages

  • Facile à personnaliser au niveau HTML. Je veux dire quelque chose comme une <div>classe CSS ouverte et personnalisée pour un élément spécifique. C'est un bon moyen de créer un thème très minimal pour un blog personnel où vous n'avez pas besoin de beaucoup de choses que le thème parent fournit (ou du moins si vous utilisez le thème / framework parent, vous devez vous accrocher pour les supprimer). Vous pouvez également faire écho à une partie spéciale de HTML comme un iframequi fait référence à un autre site Web ou simplement à un `` texte Bonjour '' beaucoup plus facile que d'utiliser un thème parent.
  • Pas besoin de dupliquer le fichier modèle du thème parent juste pour changer de petites choses.
  • Pas besoin d'apprendre quelque chose de nouveau comme la carte des crochets, la syntaxe personnalisée, les fonctions personnalisées, etc. Ces choses sont ce que les développeurs aiment, mais pas tous les utilisateurs.

Les inconvénients

  • Comme c'est une entrée , vous devez faire beaucoup de choses pour faire votre thème: CSS, modèles personnalisés, etc. Vous ne voudrez peut-être pas faire cela si vous êtes trop paresseux!

Thème parent:

Avantages

  • A une conception terminée que vous pouvez facilement modifier en changeant de petites lignes style.csscomme en changeant la couleur, la taille de la police, etc.
  • Est un thème terminé, ce qui signifie que vous pouvez le faire immédiatement sans vous soucier de quelque chose comme un modèle de commentaire, un modèle de page unique, etc.
  • Quelqu'un l'a construit pour vous!

Les inconvénients

  • Le thème parent doit être considéré comme bon s'il correspond principalement à vos besoins, vous pouvez donc le modifier le moins possible. Sinon c'est un cauchemar
  • La capacité de personnalisation n'est pas trop élevée. Je ne parle pas du système de crochet que vous pouvez voir dans les cadres ici (voir les cadres ci-dessous). Si vous souhaitez le personnaliser fortement, vous devez réécrire la plupart des fichiers de modèle - ce qui signifie que vous recréez le thème, et ce n'est pas le but d'utiliser le thème parent.

Cadre:

Avantages

  • Tout est disponible: le framework est souvent conçu comme une solution tout-en-un, il a donc une grande capacité à créer tout type de sites Web. Vous avez besoin d'un logo personnalisé? pipette à couleurs? glisser-déposer? disposition du thème? ... vous les avez déjà en main.
  • Créez un site Web plus rapidement si vous le connaissez
  • Dispose d'un système de hook complet qui permet aux utilisateurs de se connecter en plusieurs endroits pour changer beaucoup de choses que le framework fournit
  • Haut niveau de personnalisation: non seulement dans le système de hook, mais de nombreux frameworks comme Catalyst, Headway vous permettent de personnaliser presque tous les éléments directement dans l'administrateur sans toucher au CSS ou au hook.

Les inconvénients

  • L'utilisateur doit apprendre le cadre (système de hook, se familiariser avec ses fonctionnalités, ses paramètres, même sa nouvelle terminologie) pour l'utiliser efficacement. Je considère cela comme le plus gros inconvénient du framework car WP a déjà beaucoup de choses à apprendre, et tous les utilisateurs ne veulent pas apprendre une nouvelle chose juste pour mieux utiliser WP. Ces choses sont ce que les développeurs aiment, mais pas tous les utilisateurs. Les utilisateurs sont des personnes qui n'utilisent , n'apprennent et ne personnalisent que.
  • Code redondant: certaines parties des frameworks coïncident avec les fonctionnalités WP qui provoquent la duplication. L'exemple peut être genesis_meta()(pas nécessaire comme nous l'avons wp_head).
  • Performance: parce que les frameworks ont tout ce qu'il faut => il doit charger tous les fichiers nécessaires pour admin / frontend que vous pourriez ne pas utiliser du tout. Pour ce point, je préfère la façon dont Hybrid Core charge ses fichiers (en utilisant la require_if_theme_supportsfonction)
  • L'aspect par défaut est souvent minimal et mauvais. Nous devons beaucoup travailler pour faire la conception. Le processus est similaire si vous utilisez un thème de démarrage, mais vous utilisez des crochets au lieu de modèles personnalisés comme dans les thèmes de démarrage.
  • Framework a sa propre philosophie qui conduit à différentes manières de construire des frameworks => conduit à de nombreux frameworks => nous ne savons pas lequel nous convient le mieux (surtout quand ils sont premium). Ce n'est pas trop bon, car comme je l'ai dit ci-dessus, le cadre est bon pour les développeurs, et les développeurs doivent regarder en profondeur le code pour voir comment il est bon! Si le cadre est premium, cette porte est regardée!

Dernière chose: tout le thème de démarrage et le thème et le cadre parent peuvent être utilisés pour n'importe quel site s'il est facile pour vous de personnaliser pour obtenir le résultat final. Il n'y a pas de solution unique pour toutes les situations. Nous devons choisir celui qui peut nous aider le plus, peut-être que cette fois le thème de démarrage est bon, mais dans un autre temps - un cadre. Soit dit en passant, travailler avec chacun d'eux peut nous donner beaucoup d'expérience qui nous aide dans de nombreuses situations, pas seulement lors de la création de thèmes!

Anh Tran
la source
Réponse vraiment complète! Merci! Cela résoudra certainement le doute de quiconque se posera peut-être à l'avenir la même question!
romulodl
9

L'équilibre du flux de travail du thème est une combinaison de plusieurs facteurs:

  • quantité de code, individuelle aux sites
  • quantité de code, partagée entre les sites
  • incorporant des changements en amont

Chacun de ces éléments peut être important et chacun de ces éléments peut être sans importance.

Le modèle de thème parent satisfait raisonnablement bien à tous ces éléments, mais pas très bien. Vous obtenez une séparation claire du code partagé et individuel, ainsi que des mises à jour directes en amont (si vous utilisez un thème parent tiers). Il commence à se désagréger lorsque les exigences deviennent plus importantes que d'habitude - beaucoup de code individuel ou beaucoup de code partagé qui ne peuvent pas être facilement mélangés dans le thème parent tiers.

Le thème de démarrage est en revanche un modèle très spécialisé. Il favorise le site individuel, mais défavorise les modifications en amont et le code partagé. Dès que vous vous appropriez le thème de démarrage, tout le fardeau du déplacement du code dans et hors de celui-ci est sur vous.

La tendance la plus récente consiste à séparer les frameworks en composants de type plug-in plutôt que de les exécuter complètement. Si vous connaissez Hybrid en tant que thème parent, regardez dans Hybrid Core. Cette approche est essentiellement une amélioration par rapport au parent / enfant avec des mises à jour en amont facilitées en se limitant au cadre et non au thème entier.

En un mot (devient un peu subjectif ici):

  • starter s'adapte aux sites individuels
  • parent / enfant s'adapte à plusieurs sites avec peu de personnalisation
  • cadre / parent / enfant peut s'adapter à tout et n'importe quoi, mais est également plus impliqué dans le développement
Rarst
la source
Je pense que vous l'avez bien expliqué. Pour les blogs, le modèle de thème parent / enfant fonctionne bien. Pour créer un CMS ou une application, cela peut devenir assez rapidement problématique.
Ray Gulick
4

La principale raison d'utiliser des thèmes parents est de permettre des mises à jour plus faciles - si vous prenez simplement un thème et le modifiez directement, puis si le thème d'origine est mis à jour, vous devez réappliquer toutes les modifications que vous avez apportées (ou fusionner les modifications dans l'original dans votre thème modifié).

anu
la source