Différence entre un thème et un plugin?

9

Je suis curieux de savoir quelles sont les différences spécifiques entre un thème et un plugin. Je comprends l'essentiel ... les thèmes ont à voir avec l'apparence (html / css) et les plugins ont à voir avec l'ajout de fonctionnalités (code / php). Cependant, un thème comme le populaire P2 inspiré de Twitter semble ajouter des fonctionnalités ... pas simplement améliorer l'apparence. Cela me laisse un peu confus. Quelqu'un sur cet échange rockin peut-il m'éclairer?

Très appréciée.

Eddie


la source

Réponses:

13

Les thèmes gèrent l'affichage et la mise en page de votre blog, mais peuvent également ajouter des fonctionnalités.

Les plug-ins ajoutent des fonctionnalités à votre blog, mais peuvent également ajouter des éléments à la mise en page.

Il y a beaucoup de croisement entre les deux, en particulier lorsque vous regroupez certains plug-ins avec des thèmes. Cependant, la plus grande différence réside dans les modèles que votre site utilise.

Thèmes

Les thèmes définissent les modèles utilisés pour chaque page. En général, index.phpdans un thème est utilisé pour à peu près tout. Vous pouvez diviser cela et créer un séparé header.phpet footer.phpaussi bien. Ensuite, vous pouvez ajouter un sidebar.php. Je suis sûr que vous avez déjà vu au moins ces quatre fichiers - un pour définir l'en-tête, un pour définir la barre latérale, un pour définir le pied de page et un pour les rassembler et les positionner autour du contenu principal.

En outre, vous pouvez définir single.phple style d'une publication unique, page.phple style de pages individuelles, etc.

Lorsque votre site se charge et qu'une page ou une publication est demandée, WordPress achemine la demande vers le fichier modèle défini par votre thème. Ensuite, il sait comment disposer les choses sur la page. Traditionnellement, les thèmes sont uniquement destinés à la mise en page.

Plug-ins

Les plug-ins, en revanche, peuvent ajouter des éléments supplémentaires à utiliser par les thèmes et ailleurs. Un plug-in peut ajouter un bouton Facebook Like que votre thème peut ensuite ajouter aux publications et aux pages. Un autre plug-in peut ajouter un widget à votre tableau de bord d'administration pour accéder et gérer votre flux Google Reader - cela ne se reflète pas dans la mise en page de votre site, mais ajoute des fonctionnalités. Pourtant, un autre plug-in peut publier automatiquement sur Twitter chaque fois que vous publiez une nouvelle publication.

Les thèmes peuvent ajouter des fonctionnalités directement liées à la mise en page et aux performances de votre site. Les plug-ins peuvent ajouter des fonctionnalités plus profondes dans WordPress - des fonctionnalités qui peuvent également être utilisées par un thème.

EAMann
la source
Un peu tard mais qu'en est-il des clauses et requêtes personnalisées. Est-ce que cela ferait partie du thème ou d'un plugin?
Manny Fleurmond
Je ne sais pas ce que vous entendez par clauses personnalisées, mais les requêtes personnalisées seraient / devraient être traitées par des plugins. Si vous adoptez une approche MVC, pensez à WordPress lui-même comme fournissant le modèle (et la couche d'accès aux données sous-jacente), le thème fournissant la vue et les plugins (en plus de certaines parties de WordPress) fournissant le contrôleur.
EAMann
Une interprétation possible de ce qui précède est que les thèmes définissent les pages, mais les blocs et modèles individuels sont créés à l'aide de plugins. Ceci est incorrect car cela implique que les plugins == partiels de modèle, ou que les plugins sont des modèles de widget, ce qui n'est pas vrai. Pouvez-vous modifier la réponse pour rendre plus clair que les plugins sont pour la logique et les thèmes sont pour le balisage / visuels?
Tom J Nowell
2

Imaginez de cette façon! Le thème définit la STRUCTURE PRINCIPALE pour l'ensemble du site! Le thème est quelque chose comme la structure d'une publication, d'une page ou d'un type de publication personnalisé, d'une page personnalisée, ..! Jusqu'à présent, vous savez que le thème est vraiment du code HTML! À la fin de Wordpress excute, il renvoie le code HTML au navigateur et l'affichage du navigateur pour vous! Ce code HTML est basé sur un fichier de thème (index.php, header.php, footer.php, single.php)

Les plugins utilisent le crochet et le filtre pour modifier le thème AVANT la sortie vers le navigateur!

Exemple: si vous souhaitez ajouter des boutons sociaux à la fin du message! Vous pouvez changer single.php et ajouter du code pour placer un bouton social juste en dessous de the_content ()!

Mais vous pouvez créer un plugin pour utiliser le filtre et le crochet de Wordpress pour changer le HTML du message, pour vous ajouter des boutons sociaux!

Vous pouvez utiliser le crochet pour ajouter du javascript, faire du code logique, puis rendre le HTML en fonction de ce résultat, puis l'ajouter ou le remplacer par quelque chose via le crochet et le filtre de Wordpress!

Mais que se passe-t-il si vous mettez du code de plugin dans le fichier de thème? Supposons que vous mettez des fonctions pour rendre le contenu dans functions.php du thème! Appelez ensuite ces fonctions manuellement quelque part sur votre thème! Ou encore mieux, vous pouvez utiliser le crochet et le filtre pour changer automatiquement le contenu sans appeler manuellement le thème!

Donc, tant que wordpress peut inclure votre code d'une manière ou d'une autre, et exécutez-le! Tant que votre code l'exécute, il peut tout faire pour vous via l'utilisation de hook & filter! Certains plugins simples peuvent être facilement insérés dans un fichier de thème! Mais certains gros plugins sont trop gonflés pour être placés dans un fichier de thème!

Ensuite, vous décidez de supprimer cette fonction, vous allez dans le fichier de thème et supprimez le code? Cela semble stupide, non? Nous avons donc un plugin, c'est un moyen de modifier automatiquement le processus en cours de Wordpress pour changer de contenu, changer de base de données, ...

De plus, certains hooks sont exécutés avant le thème d'appel, vous ne pouvez donc pas mettre le thème dans le fichier de thème!

Conclusions: Tant que votre code est inclus par wordpress, wordpress l'exécute puis retourne le résultat! Vous pouvez mettre ce code dans des fichiers de thème, wordpress l'appellera pour vous! Mais si vous le conditionnez en tant que plugin, vous pouvez facilement installer / désactiver / supprimer sans modifier les fichiers de thème! De plus, vous gardez également votre thème simple / propre! Donc quand vous avez besoin de changer quelque chose, mettez-le comme plugin si possible! Ne le mettez pas dans des fichiers de thème!

kureikain
la source
0

Une différence fondamentale entre le plugin et le thème est:

  • Les plugins se trouvent dans le répertoire wp-content / plugins de votre site WordPress. Les thèmes peuvent être trouvés dans le répertoire wp-content / themes.

  • Tout site Web WordPress contient divers plugins, mais un site Web n'a qu'un seul thème actif.

  • Si vous changez de thème sur votre site Web, vous ne pouvez pas utiliser les fonctionnalités de l'ancien thème. Tandis que l'installation d'un nouveau plugin n'affectera pas les autres plugins actifs sur le site Web.

Solwin Infotech
la source