Le plug-in WordPress Plugin Boilerplate 101: Comment commencer

Le plug-in WordPress Plugin Boilerplate 101: Comment commencer

Le plug-in WordPress Plugin Boilerplate 101: Comment commencer
СОДЕРЖАНИЕ
02 июня 2020

Depuis la création des plugins WordPress il y a environ 10 ans, peu de choses ont changé dans la façon dont nous les écrivons. Il y a un fichier de plugin principal avec un en-tête suivi du Far West. Mis à part l’utilisation de crochets, il n’y a pas de moyen standardisé de créer des plugins.


Ce n’est pas nécessairement un problème. Il existe de nombreux plugins simples qui n’ont pas besoin d’un cadre de gouvernance, et certaines personnes peuvent écrire du code procédural parfaitement cohérent. Cela dit, la qualité du code dans les plugins n’est généralement pas la meilleure, un cadre ou une méthodologie contribuerait grandement à le relever.

Dans cet article, je vais examiner une solution possible – Plaque chauffante du plugin WordPress. Il est censé être un point de départ pour le développement de plugins, une manière orientée objet de créer un plugin standardisé. Puisqu’il est codé avec les principes de la POO, il est principalement destiné aux codeurs intermédiaires, mais vous pouvez facilement l’utiliser même en tant que débutant si vous savez ce qui se passe où. À la fin de cet article, vous devez savoir de quoi il s’agit et comment vous pouvez commencer – indépendamment de votre expérience de codage.

Structure générale des fichiers

Le passe-partout est destiné à être utilisé comme un référentiel Github, de sorte que le répertoire principal contient des fichiers couramment trouvés dans le référentiel Github. Le fichier README.md est un fichier Lisezmoi général et apparaît sur votre page de référentiel principal comme description. Le fichier CHANGELOG.md sert à enregistrer les modifications entre les versions et le fichier .gitignore sert à définir les fichiers que git doit ignorer lors de l’utilisation des fichiers.

Le dossier principal ici nom-plugin est l’endroit où le plugin est stocké. Sa structure suit le référentiel WordPress, et vous pouvez "enregistrement" ce dossier au repo du plugin SVN. Par défaut, il contient le dossier assets, qui stocke les images et les captures d’écran de votre plugin, et le dossier trunk, qui contient le code du plugin.

Le dossier trunk est ce qui contient le plugin, vous pouvez coller ce dossier dans une installation WordPress et activer votre plugin. Nous examinerons le contenu de ce dossier en détail un peu plus tard. Avant de faire cela, installons-nous.

nouveau-plugin

Tout configurer

Avoir tous ces dossiers et la génialité SVN / Git en un seul endroit est bien beau, mais comment pouvez-vous réellement utiliser cela? Vous ne pouvez pas extraire tout le dossier directement dans votre dossier de plugins, cela ne fonctionnera tout simplement pas. Vérifier uniquement le répertoire du tronc est un problème, et vous n’aurez pas accès aux fichiers en dehors de ce répertoire.

Permettez-moi de vous montrer ma façon préférée d’organiser les choses. J’ai un dossier sur mon ordinateur avec la structure suivante:

  • github
    • Top-Auteurs
    • Images faciles à mettre en valeur
    • Twitter-User-Timelines
  • html
    • wp-admin
    • contenu wp
    • wp-comprend
    • autres fichiers wordpress
  • wordpress
    • meilleurs auteurs
    • images faciles à comprendre
    • twitter-user-timelines

Le dossier html est l’endroit où WordPress est installé. Le dossier github contient tous mes plugins WordPress de Github. Le dossier wordpress contient les mêmes plugins extraits via SVN du référentiel WordPress.

Création d’un lien symbolique

La première étape que je prends est de créer une version vanille de WordPress Plugin Boilerplate sur Github. Je vérifie ensuite cela dans mon dossier github. Ensuite, je crée un lien symbolique entre le dossier trunk dans le répertoire wp-content / plugins de mon installation WordPress.

Les liens symboliques sont une référence à un fichier ou un dossier qui se résout à sa cible comme vous vous y attendez. Le résultat final de ceci est que si vous créez un lien symbolique entre un plugin de n’importe où sur votre système et votre répertoire WordPress, cela fonctionnera très bien. Cela vous offre les avantages suivants:

  • Vous pouvez stocker des plugins ailleurs.
  • Vous pouvez créer un lien symbolique vers un dossier à partir d’un référentiel plus grand.
  • Vous pouvez créer un lien symbolique vers le même plugin dans plusieurs installations.

La création d’un lien symbolique est facile à partir du terminal ou de l’invite de commande sous Windows. Je suggère d’en ouvrir un et de naviguer vers le répertoire des plugins de votre installation WordPress. Tapez ensuite la commande suivante:

# Pour OSX ou Linux
ln -s / absolu / chemin / vers / github / My-Plugin-Name / my-plugin-name / trunk my-plugin-name

# Pour les fenêtres
mklink / j C: \ absolu \ chemin \ vers \ github \ My-Plugin-Name my-plugin-name

Cela crée un lien du premier chemin vers le second. Le premier chemin est le chemin absolu vers le répertoire trunk dans votre référentiel Github. Le second n’est que le nom du dossier auquel vous souhaitez le lier lorsque vous êtes déjà dans le répertoire des plugins de votre installation WordPress.

Une fois cela fait, vous devriez voir votre nouveau plugin apparaître, tout comme dans l’image ci-dessus. Nous devrons personnaliser les choses, mais nous avons maintenant notre plugin en cours d’exécution à partir du référentiel Github, ce qui rend le développement un lot Plus facile.

Renommer

Il y a beaucoup de dossiers et de fichiers dans le répertoire trunk, commençons par les renommer! Tout d’abord, je vous recommande de nommer votre référentiel en utilisant des tirets et des majuscules, quelque chose comme ceci: My-Awesome-Plugin. Le dossier principal doit être nommé «my-awesome-plugin». Je recommande d’utiliser cette convention dans le plugin.

Renommer les fichiers est facile dans OSX. Ouvrez tous les dossiers et sélectionnez tous les fichiers contenant le nom du plugin de chaîne. Cliquez avec le bouton droit pour renommer les 14 fichiers et renommer le lot par lots.

Renommer

Ce sera un peu plus difficile sous Windows, regardez ça HowToGeek article pour plus d’informations, ou tout simplement aller un par un.

Des termes comme "nom du plugin" et d’autres variantes sont également réparties dans tout le contenu du fichier. Vous pouvez utiliser Sublime, Atom.io ou d’autres éditeurs de texte capables de remplacer en masse dans plusieurs fichiers. Voici une liste de ce que vous devez remplacer (assurez-vous de faire des remplacements de recherche sensibles à la casse).

  • plugin_name devrait devenir my_awesome_plugin
  • Plugin_Name devrait devenir My_Awesome_Plugin
  • nom du plugin devrait devenir my-awesome-plugin

Une fois que vous avez terminé, assurez-vous de remplir le commentaire d’en-tête du fichier principal (my-awesome-plugin.php) pour le personnaliser selon vos besoins.

Table des matières

Il y a beaucoup de contenu dans WordPress Plugin Boilerplate. L’idée est de définir des directives strictes sur l’endroit où vous pouvez mettre les choses. Il y a un endroit spécifique pour ajouter vos crochets par exemple, un endroit standard pour ajouter des fonctions frontales et ainsi de suite. Jetons un coup d’œil aux principales parties du cadre.

Notez que je ferai référence aux fichiers tels qu’ils ont été renommés, par exemple: comprend / class-my-awesome-plugin.php. Si vous avez renommé votre plugin en quelque chose d’autre, vous devez vous rappeler que la partie my-awesome-plugin du nom de fichier sera différente pour vous.

Activation, désactivation et désinstallation

Tout code que vous souhaitez exécuter lorsque le plugin est activé doit être inclus dans / my-awesome-plugin-name-activator.php. Dans ce fichier, il y a une classe nommée My_Awesome_Plugin_Activator à l’intérieur de laquelle se trouve une méthode activate () que vous devez utiliser.

Ne vous inquiétez pas si vous n’êtes pas encore au courant des objets, sachant où mettre les choses sera suffisant pour commencer.

Le code que vous devez exécuter lors de la désactivation doit être placé dans includes / my-awesome-plugin-name-deactivator.php. La méthode activate () dans My_Awesome_Plugin_Deactivator est ce que vous devrez utiliser.

Pensez-vous que c’est un peu trop complexe? Je ne te blâme pas! Lorsque vous commencez à utiliser des concepts orientés objet, vous verrez l’avantage de cela sur le code procédural. Si rien d’autre, il fournit un endroit très évident pour mettre votre code qui est en soi une énorme aide.

Pour la désinstallation, la méthode recommandée consiste à utiliser uninstall.php, ce que fait WordPress Plugin Boilerplate. Votre code doit être placé tout en bas de ce fichier.

Ajout de crochets

Les crochets sont manipulés par WordPress Plugin Boilerplate de manière incroyable, mais cela peut sembler un peu lourd au premier abord. Tous vos crochets doivent être placés dans includes / class-my-awesome-plugin.php. Plus précisément, à l’intérieur de la classe My_Awesome_Plugin, au sein de deux méthodes:

  • define_public_hooks () lors de l’ajout d’un hook utilisé sur le front-end
  • define_admin_hooks () lors de l’ajout d’un hook utilisé sur le back-end

Au lieu d’utiliser add_action () ou add_filter () comme d’habitude, vous devrez faire les choses légèrement différemment. Voici comment vous modifiez le contenu du message par exemple.

$ this->chargeur->add_action (‘the_content’, $ plugin_public, ‘modify_post_content’);

Le premier paramètre est le nom du hook, le second est une référence à l’objet public ou admin. Pour les hooks publics, cela devrait être $ plugin_public, pour les hooks administratifs, cela devrait être $ plugin_admin. Le troisième paramètre est la fonction accrochée.

Bien qu’il semble plus compliqué, il standardise complètement l’ajout de crochets, les divisant en deux groupes distincts dans le processus.

Contenu public et administrateur

WordPress Plugin Boilerplate divise les crochets en groupes admin / public mais ce n’est pas tout. Il divise tout votre code de la même manière en vous demandant d’écrire du code public dans le dossier public et du code administrateur dans le dossier admin.

Les deux dossiers contiennent des dossiers css, js et partiels. Vous devez placer les actifs CSS / JS utilisés dans ces dossiers et écrire des modèles et d’autres bits HTML réutilisables dans le dossier des partiels. C’est bien de créer de nouveaux fichiers dans le dossier des partiels, en fait, c’est pour ça qu’il est là!

Vous devez également écrire vos fonctions accrochées dans ces dossiers, au sein de la classe dans les répertoires respectifs. Lorsque nous avons accroché la fonction modify_post_content au_content ci-dessus, nous avons également indiqué à WordPress Plugin Boilerplate où la rechercher. Depuis que nous l’avons ajouté au côté public, WordPress Plugin Boilerplate s’attend à ce qu’il soit défini dans la classe My_Awesome_Plugin_Public qui se trouve dans le dossier public. Créez simplement cette fonction dans la classe et écrivez tout le reste comme d’habitude.

Ressources et dépendances

Si vous souhaitez utiliser des ressources externes, telles que Activation du plugin TGM, vous devez l’ajouter au dossier includes. TGM est un fichier unique nommé class-tgm-plugin-activation.php qui doit être inclus dans le fichier class-my-awesome-plugin.php, dans la méthode load_dependencies ():

require_once plugin_dir_path (dirname (__FILE__)). ‘inclut / class-tgm-plugin-activation.php’;

Aperçu

Êtes-vous confus par tous les noms de fichiers et fonctions? Ne vous inquiétez pas, vous comprendrez assez rapidement. En fait, vous ne modifiez généralement que trois fichiers:

  • comprend / class-my-awesome-plugin.php est l’endroit où vous ajoutez tous vos crochets et dépendances.
  • public / class-my-awesome-plugin-public.php est l’endroit où vous ajoutez toutes les fonctions publiques.
  • admin / class-my-awesome-plugin-admin.php est l’endroit où vont toutes les fonctions d’administration.

Au début, l’utilisation de WordPress Plugin Boilerplate peut sembler un problème, mais cela sera finalement payant. Vous reviendrez un an plus tard et vous saurez où tout se trouve, le développement de votre plugin sera standardisé pour tous les produits et les autres développeurs pourront également comprendre ce qui se passe..

Enfin, n’oubliez pas qu’un plugin fournissant un widget simple peut ne pas avoir besoin d’un tel framework. Bien que l’utilisation de WordPress Plugin Boilerplate ne ralentisse pas votre plugin, il obstrue la vue si vous n’avez besoin que de quelques lignes de code simples!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Это интересно
    Adblock
    detector