Les cadres de thème peuvent être extrêmement puissants. Pour les utilisateurs non techniques de WordPress, ils permettent de créer un site unique ressemblant à un thème sur mesure. Pour les développeurs WordPress, ils peuvent vous aider à appliquer le principe DRY (ne vous répétez pas) et vous donner la possibilité de créer des sites personnalisés rapidement.
Si vous utilisez un framework tiers depuis un certain temps et que vous êtes frustré par le code saturé ou le manque de flexibilité, ou si vous souhaitez simplement contrôler votre code, créer votre propre framework de thème peut être la meilleure approche..
Dans cette série, vous apprendrez à créer votre propre framework de thèmes WordPress, que vous pourrez utiliser pour créer des sites pour vous-même ou vos clients, voire pour d'autres utilisateurs. Vous travaillerez à travers les étapes de la création du thème parent qui constitue la base de votre infrastructure, en ajoutant des fonctions supplémentaires, des points d'ancrage, etc. Vous apprendrez également à en tirer parti dans vos thèmes et plug-ins enfants et à rendre public votre code..
Mais avant de commencer, vous devez savoir comment fonctionnent les frameworks de thèmes et ce qui les rend différents sous forme de thème parent standard..
J'ai passé du temps à développer deux cadres de thèmes pour une utilisation sur deux catégories de sites clients, à développer et à les améliorer au fil du temps, et j'ai également travaillé avec certains cadres de thèmes tiers. D'après mon expérience, un cadre de thème présente quelques caractéristiques principales:
Les deux premiers points ci-dessus sont les plus fondamentaux - sans un thème parent, vous n'avez pas de cadre de thème. Et un thème parent sans ces crochets et fonctions est juste un thème parent de base, pas vraiment un framework..
C’est donc ce que sont les cadres thématiques, mais comment fonctionnent-ils? Jetons un coup d'œil aux éléments d'un framework de thème:
Le composant principal d'un framework de thème est le thème parent. Cela peut être conçu de deux manières:
Le principe DRY étant l’une des caractéristiques clés des frameworks de thème, votre thème parent utilisera probablement des parties de modèle et des fichiers à inclure autant que possible, ce qui signifie que vous pourrez accéder au même code à différents endroits de votre thème. Cela facilite également le remplacement du code dans vos thèmes enfants, car vous créez simplement un élément de modèle de remplacement ou un fichier d'inclusion..
Je ne vais pas expliquer le concept de thèmes parent / enfant tel qu'il est traité dans ce tutoriel sur les thèmes enfants. De nombreux cadres de thèmes viennent avec une gamme de thèmes enfants pour les soutenir, tandis que pour d'autres, vous devez développer votre propre.
Si vous développez le vôtre, je vous recommanderais de créer au moins un thème enfant "de démarrage" afin d'éviter de répéter le travail de création d'un thème: vous pouvez décider de créer plusieurs thèmes enfants en tant que base pour différents types de projet. , par exemple des thèmes enfants pour des blogs et des sites autres que des blogs.
Un cadre de thème inclura une gamme de points d'accroche pour les thèmes enfants et les plug-ins à prendre en compte lors de l'ajout de code personnalisé ou du changement de comportement du thème:
Prenez le temps de réfléchir aux crochets que vous souhaitez inclure à un stade précoce, afin de savoir quel contenu inclure via un crochet et ce qu'il faut coder dans vos fichiers de modèle directement. Vous allez regarder cela dans la prochaine partie de cette série.
Votre cadre est également susceptible d'inclure une gamme de fonctions. Certains d'entre eux seront rattachés aux actions et aux filtres que vous avez déjà définis, tandis que d'autres sont des fonctions telles que les balises de modèles que les thèmes enfants peuvent utiliser..
Si vous utilisez des fonctions personnalisées sur plusieurs sites clients, il vaut la peine de les ajouter à votre infrastructure. Vous n'êtes pas obligé d'activer toutes vos fonctions: vous pouvez activer une fonction du thème parent à l'aide d'un add_action ()
fonctionner dans votre site enfant.
Les écrans d'options de thème sont un complément utile à tout thème complexe, mais le seront tout particulièrement pour les cadres de thème conçus pour des utilisateurs non techniques. Les principaux cadres de thème incluent tous plusieurs écrans d’options de thème dans leur propre section admin, avec des options comprenant l’activation et la désactivation de fonctionnalités, la modification de la présentation, l’ajout de contenu et la modification d’éléments de conception tels que les couleurs, les images de fond, les polices et les images d’en-tête..
Vous pouvez choisir d'utiliser le personnalisateur de thème pour plusieurs de vos options, ce qui présente l'avantage de permettre à vos utilisateurs de voir leurs modifications à mesure qu'ils les ont effectuées. J'ai choisi cette approche pour le cadre thématique Edupress, que j'ai développé pour les sites Web d'école avec Mark Wilkinson..
Que vous choisissiez d'ajouter une gamme de zones de widgets dépendra de l'audience de votre infrastructure: si vous ou une petite équipe de développeurs travailliez avec le thème, vous pourriez ne pas ajouter de zones de widget au-delà de la barre latérale et du pied de page standard. des zones.
Mais si votre infrastructure doit être utilisée par des utilisateurs non techniques, vous pouvez leur donner beaucoup plus de flexibilité en enregistrant plusieurs zones de widgets à différents endroits de votre thème. En plus de la barre latérale et du pied de page normaux, vous pouvez également enregistrer des zones de widget dans l'en-tête, avant et / ou après le contenu et en dessous du pied de page..
Le cadre de thème que j'utilise pour mes sites clients comprend quatre zones de widget dans le pied de page: le thème vérifie celles qui sont renseignées et ajoute les classes CSS en conséquence, de sorte que les zones de widget occupées occupent chacune la largeur appropriée de la page..
Les zones de vos widgets peuvent être codées directement dans vos fichiers de modèle ou vous pouvez décider (comme je le fais) de les ajouter via des points d’accrochage aux endroits appropriés de votre site. Cela signifie qu'ils peuvent être remplacés dans les thèmes enfants, soit par d'autres zones de widgets, soit par un code personnalisé..
Si un script donné est susceptible d’être utilisé par un certain nombre de sites construits sur votre cadre, ou si vos utilisateurs ne sont pas techniques et que vous souhaitez fournir des options supplémentaires, vous pouvez décider d’inclure certains scripts dans votre cadre, tels que curseur ou script lightbox. Cela peut éviter aux utilisateurs d'avoir à installer des plug-ins supplémentaires, mais présente l'inconvénient de générer une surcharge de code si ces scripts ne sont pas nécessaires..
Encore une fois, cela dépendra de votre public et des besoins anticipés: si vous travaillez uniquement avec le framework, je vous conseillerais de développer (ou d’identifier) des plugins avec ces scripts et de les utiliser lorsque vous en aurez besoin..
Si vous incluez des scripts, il vaut la peine d’inclure une option d’activation et de désactivation sur l’écran d’options de votre thème..
Si votre infrastructure doit être utile pour une série de sites maintenant et dans le futur, vous voulez qu’elle soit extensible. Le thème parent qui constitue le cœur du cadre n'est que le cœur d'un écosystème dans lequel vous et les utilisateurs de votre thème allez puiser pour ajouter des options supplémentaires et du pouvoir à leurs sites. Cela comprendra:
Il peut également inclure de la documentation destinée aux autres développeurs souhaitant utiliser votre framework: la plupart des frameworks thématiques principaux sont accompagnés d’une documentation complète que les développeurs peuvent utiliser pour personnaliser leurs sites basés sur le framework ou pour créer des thèmes enfants ou des plugins pour d’autres utilisateurs du système. cadre d'accès.
Les frameworks de thème sont un outil puissant dans l'arsenal du développeur WordPress. Comme nous l'avons vu, ils sont essentiels pour des milliers de propriétaires de sites non techniques qui les utilisent pour créer des sites WordPress personnalisés. Mais ils sont également un excellent outil pour tout développeur qui créera plusieurs sites, que ce soit pour son usage personnel ou pour ses clients..
Les frameworks de thèmes présentent un certain nombre de caractéristiques qui leur donnent ce pouvoir: ils sont extensibles et flexibles, et vous permettent, ainsi qu'à vos utilisateurs, de créer des sites personnalisés à l'aide de thèmes enfants et d'accéder aux fonctions et crochets fournis par votre framework.
Après avoir examiné le fonctionnement des cadres de thème, dans la prochaine partie de cette série, vous identifierez ce que votre cadre doit faire et pour qui il doit travailler, ce qui vous aidera à choisir l’approche de développement la plus appropriée..