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!