Domanda

Questa non è una domanda su come costruire un plug -in WordPress. Piuttosto, cosa, se del caso, le guide potrebbero essere applicate a come mettere insieme l'architettura del file di qualsiasi plug -in.

Alcuni altri linguaggi di programmazione o librerie hanno modi molto controllati per organizzare directory e file. A volte questo è fastidioso e mette in evidenza la libertà offerta da Php, ma sui plugin WordPress sul lato rovescio sono messi insieme in qualsiasi modo determinato dal loro autore.

Non c'è una risposta giusta, ma la mia speranza è di perfezionare come io e gli altri costruiamo plugin per renderli più amichevoli per gli altri sviluppatori da districare, più facili da debug, più facili da navigare e possibilmente più efficienti.

La domanda finale: cosa fare voi Pensi che sia il modo migliore per organizzare un plugin?

Di seguito sono riportate alcune strutture di esempio, ma in nessun modo è un elenco esaustivo. Sentiti libero di aggiungere i tuoi consigli.

Struttura predefinita presunta

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

Metodo del controller di visualizzazione del modello (MVC)

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

Le tre parti di MVC:

  • Il modello Interagisce con il database, interrogare e salvare i dati e contiene logica.
  • Il controller Conterrebbe tag e funzioni modello che la vista utilizzerebbe.
  • Il Visualizza è responsabile di visualizzare i dati forniti dal modello come costruito dal controller.

Organizzato per tipo di metodo

  • /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

Piastra plug -in wordpress

Disponibile su Github

Basato sul API plugin, Standard di codifica, e Standard di documentazione.

  • /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

Metodo vagamente organizzato

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

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top