Décider comment développer votre cadre de thème WordPress

Dans la première partie de cette série, j’ai décrit le fonctionnement des cadres de thème et les différents types de cadres de thème disponibles..

Avant de pouvoir commencer à construire votre propre framework, vous devez réfléchir à la façon dont il doit fonctionner et à quoi il sera utilisé, afin de pouvoir utiliser dès le départ l'approche de développement la plus appropriée..

Dans ce didacticiel, je vais vous expliquer les facteurs à prendre en compte, notamment si votre framework sera public ou privé, s'il sera utilisé par des non-développeurs ou des développeurs, et quelles fonctionnalités supplémentaires vous souhaitez inclure.

Pour décider de votre approche, vous devez choisir entre deux méthodes: déterminer comment votre cadre sera utilisé et, en fonction de cela, déterminer ce que vous devez y inclure..

Comment votre cadre thématique sera-t-il utilisé??

La façon dont votre cadre thématique doit être utilisé va influencer ce que vous incluez et la façon dont vous le structurez.. 

Considérer ce qui suit:

  • Est-ce que votre framework de thème est juste pour vous ou pour d'autres développeurs?
  • Votre framework sera-t-il utilisé par des développeurs ou des utilisateurs peu ou pas expérimentés en codage??
  • Votre cadre de thème sera-t-il public ou privé??

Juste pour vous ou pour les autres?

Si votre cadre est uniquement destiné à votre usage personnel, vous n'aurez plus qu'à réfléchir à vos propres besoins lorsque vous le développerez. Cependant, il est logique de le pérenniser et de le rendre aussi robuste que possible. Vous devez donc:

  • utiliser les normes de codage WordPress
  • adoptez le principe DRY (ne vous répétez pas)
  • utilisez un code que vous pouvez valider à l'aide du vérificateur de validation du W3C. Vous devez également vous assurer que votre code est accessible
  • inclure des commentaires - même si quelqu'un d'autre ne regarde pas votre code, vous seriez surpris de voir à quel point il est facile d'oublier ce que fait un morceau de code lorsque vous le modifiez plusieurs mois plus tard.
  • utiliser le contrôle de version pour les mises à jour de votre framework
L'outil de validation du balisage W3C

Si votre infrastructure doit être utilisée par d'autres développeurs, peut-être vos collègues, vous devrez adopter toutes les pratiques ci-dessus et vous devrez également:

  • fournir à la documentation un aperçu de la structure, des fonctions et des points d'ancrage de votre cadre
  • réfléchissez à la manière dont vous partagerez et collaborerez sur le code - en utilisant un système de collaboration tel que GitHub, cela sera beaucoup plus facile.
  • documentez vos versions ou associez-les à des jalons et / ou à des versions sur GitHub.

Pour les développeurs ou les utilisateurs?

Certains frameworks de thème sont destinés aux utilisateurs non-codeurs pouvant personnaliser le framework de manière extensive sans écrire de code, tandis que d'autres sont destinés aux développeurs, en fournissant des points d'ancrage et des fonctions qu'ils peuvent utiliser pour personnaliser et développer le framework. D'autres conviennent aux deux, avec une interface utilisateur complète et une API.

Le fait que votre infrastructure soit utilisée par des non-développeurs ne signifie pas nécessairement que vous allez le rendre public. Vous pouvez avoir des collègues concepteurs à qui vous voulez donner accès, ou vous pouvez laisser les clients l’utiliser pour des personnalisations. leur site.

Si votre infrastructure est destinée à des utilisateurs non codants, vous devez inclure:

  • un ou plusieurs écrans d'options de thème à partir desquels vos utilisateurs peuvent effectuer leurs personnalisations
  • accès au personnalisateur de thème que vous pouvez choisir d'utiliser à la place des écrans d'option de thème, ce qui offre aux utilisateurs l'avantage de pouvoir voir leurs modifications alors qu'ils les modifient, ou vous pouvez choisir d'utiliser les deux
  • zones de widgets permettant aux utilisateurs d'ajouter leur propre contenu à divers endroits de la page
  • menus afin que les utilisateurs puissent naviguer sur le site (vous pouvez inclure plusieurs zones pour les menus)
  • Prise en charge des thèmes enfants afin que les utilisateurs puissent l'installer afin de créer rapidement un site de travail
  • bibliothèques pour toutes les fonctionnalités que vous souhaitez inclure telles que les curseurs ou les boîtes à lumière
  • documentation et assistance pour que les utilisateurs sachent utiliser votre travail (cela peut être utile mais évitez de le laisser prendre plus de temps)

Si votre public cible est constitué de développeurs qui utiliseront votre infrastructure avec leurs propres thèmes enfants et / ou plugins, vous devrez peut-être prendre en compte certaines des solutions ci-dessus, mais vous devrez également inclure des fonctionnalités de la liste suivante:

  • crochets d'action permettant aux développeurs d'insérer leur propre code dans vos fichiers de modèle sans créer de fichier de modèle en double
  • crochets de filtre permettant aux développeurs de modifier le résultat de vos fichiers de modèle
  • fonctions personnalisées que les développeurs peuvent utiliser dans leurs thèmes enfants
  • des pièces de modèle et des fichiers d'inclusion pour réduire la duplication de code. C’est un avantage pour vous-même lorsque vous travaillez avec le framework, et que les autres développeurs trouveront utile si la théorie a besoin de créer des fichiers de modèle dans leurs thèmes enfants. Assurez-vous que vos fichiers sont nommés et structurés de manière logique, et ajoutez des commentaires aux fichiers à partir desquels ils sont appelés afin que les utilisateurs puissent les retrouver facilement..

Public ou privé?

Si vous envisagez de rendre public votre cadre, il y aura tout un ensemble de considérations supplémentaires:

  • si vous soumettez votre framework en tant que thème via le référentiel de thèmes WordPress, vous devez respecter les consignes de révision du thème.
  • comme les utilisateurs utiliseront votre infrastructure pour un grand nombre de scénarios et de types de sites, vous devrez vérifier que votre infrastructure fonctionne correctement dans une grande variété de contextes, et peut-être solliciter l'aide d'autres utilisateurs et développeurs. tu le teste
  • une forme de documentation est essentielle, que ce soit pour les développeurs ou les utilisateurs, en fonction de votre public cible
Le référentiel de thèmes WordPress

Vous devrez également prendre en compte la manière dont vous allez commercialiser votre framework: même s’il est gratuit, vous souhaitez que les utilisateurs l’utilisent. Vous devez donc le publier via un site Web, des médias sociaux, un référencement, des boutiques thématiques à thème, bouche à oreille, rencontres locales, WordCamps et / ou autres méthodes.

Que devrait inclure votre cadre thématique??

Une grande partie des fonctionnalités de votre thème sera déterminée par les besoins des utilisateurs que vous venez d'identifier. Après avoir décidé à qui votre cadre de thème est destiné et, si possible, leur demander ce dont ils auront besoin, écrivez une liste des fonctionnalités que votre thème inclura. 

Cette liste comprendra (sans toutefois s'y limiter) une sélection des éléments suivants:

  • fichiers de modèle (y compris les parties de modèle et les fichiers d'inclusion)
  • les fonctions
  • crochets d'action et crochets de filtre
  • zones de widgets
  • des menus
  • écrans d'options et de paramètres
  • Prise en charge du personnalisateur de thème
  • Documentation
  • thèmes pour enfants

Pour ceux-ci, identifiez:

  • quelle est la fonctionnalité
  • ce qu'il va faire
  • où son code apparaîtra

Outre les fonctionnalités déterminées par les besoins de différents groupes d'utilisateurs, vous pouvez également inclure d'autres fonctionnalités telles que:

  • Votre structure aura-t-elle une présentation intégrée, sera-t-elle configurable ou sera-t-elle codée via des thèmes enfants??
  • Quelle quantité de cela allez-vous inclure dans votre thème parent? Certains frameworks ont un style extrêmement minimal, tandis que d'autres (comme le mien) sont construits à l'aide de CSS orienté objet (OOCSS) pour faciliter le style dans les thèmes enfants..
  • Votre framework sera-t-il réactif ou sera-t-il codé via des thèmes enfants? Si votre thème parent est réactif, vous devez vous assurer qu'il n'est pas écrasé par aucun style de mise en page dans vos thèmes enfants, domaine dans lequel OOCSS est pratique..
  • Allez-vous ajouter des fonctionnalités de référencement à votre infrastructure en plus de celles fournies par WordPress, ou les utilisateurs les ajouteront-ils via un plugin autonome??
  • Voulez-vous inclure des éléments tels que des curseurs, des galeries, des images d'arrière-plan et bien plus encore dans votre cadre ou les ajouter via des thèmes enfants si nécessaire??

Cette liste risque de s'allonger avec le temps, à mesure que vos besoins et ceux de vos utilisateurs évoluent. Assurez-vous que votre infrastructure est facile à étendre depuis le début et vous pourrez ajouter de nouvelles fonctionnalités à tout moment..

Résumé

Développer votre propre cadre thématique est une entreprise majeure. C’est quelque chose qui vous permettra d’économiser de nombreuses heures de développement à long terme, mais qui demande beaucoup de travail pour réussir. 

En prenant le temps d'identifier qui utilisera votre framework et les fonctionnalités dont ils auront besoin, vous le rendrez plus utile pour vous-même et les autres utilisateurs, et vous faciliterez l'extension et l'adaptation du framework à l'avenir..