Esto no es una pregunta sobre cómo crear un complemento de WordPress. Más bien, qué guías, si las hay, podrían aplicarse a cómo armar la arquitectura de archivos de cualquier complemento.
Algunos otros lenguajes de programación o bibliotecas tienen formas muy controladas de organizar directorios y archivos. A veces esto es molesto y resalta la libertad que ofrece PHP, pero en el lado opuesto, los complementos de WordPress se combinan de cualquier manera según lo determine su autor.
No hay una respuesta correcta , pero mi esperanza es refinar la forma en que yo, y otros, construimos complementos para hacerlos más amigables para otros desarrolladores, más fáciles de depurar, más fáciles de navegar , y posiblemente más eficiente.
La pregunta final: ¿qué cree usted que es la mejor manera de organizar un complemento?
A continuación se muestran algunas estructuras de muestra, pero de ninguna manera es una lista exhaustiva. Siéntase libre de agregar sus propias recomendaciones.
Estructura predeterminada supuesta
-
%código%
-
%código%
-
%código%
-
/wp-content
-
-
%código%
-
%código%
Método del controlador de vista de modelo (MVC)
-
%código%
-
%código%
-
%código%
-
%código%
-
/plugins
-
-
%código%
-
/my-plugin
-
-
%código%
-
my-plugin.php
-
-
/wp-content
-
%código%
-
%código%
-
%código%
MVC en tres partes:
- El modelo interactúa con la base de datos, realiza consultas y guarda datos, y contiene lógica.
- El controlador contendría etiquetas de plantilla y funciones que la vista utilizaría.
- La vista es responsable de mostrar los datos proporcionados por el modelo según lo construido por el controlador.
Organizado por el método de tipo
-
%código%
-
%código%
-
%código%
-
%código%
-
/plugins
-
-
%código%
-
/my-plugin
-
/controller
-
-
%código%
-
Controller.php
-
-
%código%
-
/model
-
-
%código%
-
Model.php
-
-
%código%
-
/view
-
-
view.php
-
%código%
-
%código%
-
%código%
Método poco organizado
-
%código%
-
%código%
-
%código%
-
my-plugin.php
-
/wp-content
-
/plugins
-
/my-plugin
-
/admin
-
admin.php
-
/assets
-
css/
-
-
%código%
-
%código%