Question

Ce n'est pas une question sur la façon de créer un plugin WordPress. Des guides, le cas échéant, pourraient plutôt être appliqués à la façon de mettre en place l'architecture de fichier de n'importe quel plugin.

Certains autres langages de programmation ou bibliothèques ont des moyens très contrôlés d'organiser des répertoires et des fichiers. Parfois, cela est ennuyeux et met en évidence la liberté offerte par PHP, mais sur les plugins WordPress sur le côté, sont assemblés de manière telle que déterminée par leur auteur.

Il n'y a pas de bonne réponse, mais mon espoir est d'affiner la façon dont moi et d'autres, construisons des plugins pour les rendre plus amicaux pour que d'autres développeurs soient plus faciles à déboguer, plus faciles à naviguer, et peut-être plus efficaces.

La dernière question: Qu'est-ce que tu Pensez-vous que c'est le meilleur moyen d'organiser un plugin?

Vous trouverez ci-dessous quelques structures d'échantillons, mais en aucun cas une liste exhaustive. N'hésitez pas à ajouter vos propres recommandations.

Structure par défaut supposée

  • /wp-content
    • /plugins
      • /my-plugin
        • my-plugin.php

Méthode du contrôleur de vue du modèle (MVC)

  • /wp-content
    • /plugins
      • /my-plugin
        • /controller
          • Controller.php
        • /model
          • Model.php
        • /view
          • view.php
        • my-plugin.php

Les trois parties de MVC:

  • La maquette interagit avec la base de données, interrogeant et enregistre des données et contient une logique.
  • La manette contiendrait des balises et des fonctions de modèle que la vue utiliserait.
  • La voir est responsable d'afficher les données fournies par le modèle construites par le contrôleur.

Organisé par méthode de type

  • /wp-content
    • /plugins
      • /my-plugin
        • /admin
          • admin.php
        • /assets
          • css/
          • images/
        • /classes
          • my-class.php
        • /lang
          • my-es_ES.mo
        • /templates
          • my-template.php
        • /widgets
          • my-widget.php
        • my-plugin.php

Plugin WordPress Plugin Play

Disponible sur Github

Basé sur API du plugin, Normes de codage, et Normes de documentation.

  • /wp-content
    • /plugins
      • /my-plugin
        • /admin
          • /css
          • /js
          • /partials
          • my-plugin-admin.php
        • /includes
          • my_plugin_activator.php
          • my_plugin_deactivator.php
          • my_plugin_i18n.php
          • my_plugin_loader.php
          • my_plugin.php
        • /languages
          • my_plugin.pot
        • /public
          • /css
          • /js
          • /partials
          • my-plugin-public.php
        • LICENSE.txt
        • README.txt
        • index.php
        • my-plugin.php
        • uninstall.php

Méthode librement organisée

  • /wp-content
    • /plugins
      • /my-plugin
        • css/
        • images/
        • js/
        • my-admin.php
        • my-class.php
        • my-template.php
        • my-widget.php
        • my-plugin.php

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top