DIY WordPress Theme Framework Partie 1 Définir vos besoins

L'une des meilleures choses à propos de mon éducation à l'université de Scranton a été la leçon récurrente que nous avons apprise réutilisation. La réutilisation est extrêmement importante dans la programmation pour de nombreuses raisons: tests plus simples, gain de temps, capacité à se concentrer sur des tâches plus avancées, etc. Pour travailler avec WordPress, il me faudrait appliquer ces leçons de réutilisation à ma vie quotidienne. Le numéro un sur ma liste était un simple cadre de thème WordPress.

Le premier article de cette série sera un peu différent de ceux de ce site. Dans cet article, je souhaite vous communiquer certaines des leçons que j'ai apprises sur la réutilisation et la définition de vos besoins. Je vous fournirai mon cadre dans le prochain article, mais c'est un fait que tout le monde code différemment et ce que je fournis risque de ne pas répondre à vos besoins.!


Quelques principes de réutilisation à garder à l'esprit

Toute personne ayant une formation théorique en informatique ou en génie logiciel peut attester du fait qu’il existe un nombre incalculable de théories, de bibliothèques et de cours (cours de programmation et non de cours) dédiés à des formes très avancées de réutilisation et de programmation générique. Bien que je pense que ceux-ci sont excessifs pour un cadre de thème, il y a quelques principes que j'ai essayé de suivre pour créer le mien:

"Les tests garantiront que votre code fonctionne avant de l'implémenter 5, 10 ou 20 fois."

  • Concevez votre code: Je sais que lorsque l'on parle de WordPress, la conception implique généralement la conception front-end, mais il est tout aussi important de concevoir le code. Présentez vos fonctions, vos classes et vos pages avant de commencer à les coder.
  • Généraliser si possible: Le principe le plus important est peut-être de reconnaître lorsque vous réutilisez des extraits de code et de les généraliser en fonctions. Cela facilitera beaucoup la gestion et la mise à jour de votre code.
  • Documentez et testez minutieusement: C'est quelque chose que vous devriez faire avec tout le code, mais surtout le code que vous prévoyez de réutiliser fréquemment. La documentation vous aidera à vous rappeler ce que vous pensiez 6 mois ou un an plus tard. Les tests garantiront que votre code fonctionne avant de l'implémenter 5, 10 ou 20 fois..

Définir vos besoins

Maintenant que nous avons défini certaines choses à garder à l’esprit, nous devons définir ce que nous voulons que notre cadre de travail accomplisse. N'oubliez pas que chacun de nous a ses propres besoins, et même si je vais parler du mien, le vôtre peut être différent. Au début, mes besoins étaient assez simples: je voulais un cadre simple qui a fait mon travail initial pour moi..

Lors de la création de thèmes WordPress pour mes clients, j’ai remarqué que mon processus était le même: copier K2 (le thème par défaut à l’époque), supprimer les éléments que je ne souhaitais pas utiliser, les remplacer par mon code. Une grande partie de mon code était similaire: la même réinitialisation CSS, la même structure CSS, le même en-tête de style, la navigation, etc. Au bout d'un moment, j'ai trouvé qu'il était plus simple de copier le thème de mon dernier client et de le construire à partir de celui-ci. C'est alors que j'ai décidé de construire mon propre cadre.

"Nous devons définir ce que nous voulons que notre cadre accomplisse"

Une fois cela décidé, je devais définir mes besoins: que faisais-je encore et encore et que pouvais-je généraliser? Ma liste d'exigences était en tant que telle:

  • CSS enfichable: Il y a plusieurs parties de mon CSS qui changent rarement. Cela inclut dans les définitions de classe WordPress, ma réinitialisation CSS, certaines classes générales que j'utilise (.hide, .left, .right, .clear, etc.) et (généralement) mes correctifs IE. Si je pouvais résumer tout cela, il me suffirait de déposer un fichier CSS spécifique au site (appelé master.css d'après le simple cadre CSS de Dan Cederholm) et je sais que tout le reste fonctionnerait correctement.
  • Constantes pour l'URL du thème et les chemins d'image: Ce sont 2 variables dont j'ai besoin avec chaque thème. Si je pouvais facilement les définir quelque part, je n'aurais pas à m'inquiéter de remplacer les URL de chaque site que je crée..
  • Fonctionnalité WordPress commune: Voici les menus, les définitions de la barre latérale et tout ce que je pourrais penser que je taperais encore et encore.
  • Pages de modèle généralement définies: Les pages de thèmes communs (en-tête, pied de page, index) avec suffisamment de ressources pour les rendre utiles, mais pas tellement sur celles-ci, il faudrait que je change de thème chaque fois que je développe un nouveau thème..
  • Dossiers communs: J'ai toujours un dossier images, un dossier css et un dossier css / img. Je devais les inclure aussi.
  • Poids léger: Ça doit être léger. Je ne veux pas avoir à parcourir des pages et des pages de code pour trouver ce que je veux. Mon bien est que WordPress lui-même est un cadre complexe; pourquoi construire un deuxième cadre complexe sur le dessus?

Je voulais aussi créer des fonctions pour les fonctionnalités de plusieurs pages, comme le "message non trouvé" et la navigation dans les posts. Cela nous ramène à la mentalité selon laquelle une fonction unique m'aidera à modifier plus rapidement les fonctionnalités multi-pages..


Voir ce qui existe déjà

Le grand avantage des logiciels open source est que si vous avez besoin de quelque chose, c'est probablement déjà fait. La même chose se passe dans Frameworks. Il existe des dizaines de cadres, donc avant de commencer à développer les vôtres, il vaudrait la peine de vérifier ce qui existe déjà. Le but est de gagner du temps, non? Pas de meilleur moyen de gagner du temps que de ne pas avoir à se développer du tout!


Thematic by ThemeShaper est un framework très populaire

Pour vous aider, j'ai compilé une courte liste de frameworks que j'ai au moins examinés (bien que la plupart d'entre eux aient été utilisés):

  • Thématique
  • Thèse
  • Carrington
  • Genèse
  • Atahualpa
  • Du Codex WordPress

Lorsque vous explorez ces cadres, gardez vos exigences à l’esprit. Testez-les correctement: téléchargez, installez, activez. Ensuite, essayez de créer un thème enfant et de jouer avec les paramètres. Voyez ce que vous trouvez. Alors prenez votre décision.

Pour moi, je trouvais que celles que j’essayais étaient trop complexes et peu légères. Ils sont parfaits pour les personnes qui ont besoin d’un thème rapidement, mais en ce qui concerne la personnalisation, j’ai dû apprendre un tout nouveau système pour pouvoir créer des thèmes. Comme je l'ai dit plus tôt: je connais déjà le framework / API complexe de WordPress. Je devrais remplacer cette connaissance par le framework / API d'un autre thème. J'ai décidé de construire la mienne, qui utiliserait toujours les fonctions de WordPress, ne les remplacerait pas.


Conclusion

Je suis sûr que vous pourriez avoir deviné dès le début de cet article que la conclusion inévitable serait que nous construisions notre propre cadre. Nous avons nos principes et exigences, et nous avons fait nos recherches. Nous sommes prêts à construire un cadre, ce que nous ferons la prochaine fois!

La dernière chose que je vous invite à faire est de faire écho à ce que j'ai dit ici: quels sont vos principes et vos exigences. Utilisez-vous l’un des cadres que j’ai mentionnés ici ou avez-vous déjà développé le vôtre? Laissez nous savoir!

Lors de la prochaine session de cette série, nous appliquerons ces principes au premier jour de travail sur notre nouveau cadre.!