Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Estructura de Carpetas en Plugins WordPress

4/13
Recursos

¿Cómo organizar las carpetas de un plugin en WordPress?

La organización de las carpetas es crucial para el desarrollo eficiente de un plugin en WordPress. No solo facilita el mantenimiento, sino que también mejora la colaboración entre varios desarrolladores. En esta sección, abordaremos cómo estructurar las carpetas para maximizar la eficiencia y seguridad de tu plugin.

¿Qué estructura de carpetas implementar?

Para obtener un código limpio y comprensible, es esencial dividir el código en varias carpetas según su funcionalidad. A continuación, se describe cómo estructurar las carpetas:

  1. Carpeta public: Contiene todo el código visible en el sitio web, excluyendo el backend. Aquí se almacenan elementos que el usuario final puede ver e interactuar.

  2. Carpeta admin: Incluye código relacionado con las funcionalidades del administrador. Este segmento se encarga de gestionar y modificar configuraciones dentro del área de administración de WordPress.

  3. Carpeta include: Destinada a códigos auxiliares que no están directamente relacionados con el frontend ni con el backend, como los helpers o la implementación de APIs REST.

¿Por qué crear un archivo index.php en cada carpeta?

Es una práctica estándar en el desarrollo de plugins para WordPress incluir un archivo index.php en cada carpeta. El propósito es impedir el acceso directo a las carpetas por parte de usuarios externos. Al forzar la entrada, un usuario podría potencialmente ver archivos y carpetas internas si no existiera un índice. Al incluir un archivo index.php que contenga un simple mensaje, como “Silence is golden”, se redirige al usuario a este archivo, manteniendo la estructura del plugin protegida.

¿Qué significa "Silence is golden"?

El mensaje “Silence is golden” es una tradición en WordPress, que denota la protección del contenido del plugin. Al incluir este archivo con dicho mensaje, se adopta un estándar de seguridad reconocido y utilizado a modo de convención cultural en la comunidad de WordPress.

¿Cuáles son las mejores prácticas al crear nuevas carpetas?

Al desarrollar nuevas funcionalidades o segmentos dentro de tu plugin, es recomendable:

  • Crear un archivo index.php en cada nueva carpeta como medida de seguridad.
  • Si, por ejemplo, decides crear una subcarpeta dentro de public llamada shortcodes para gestionar los HTML de los formularios, asegúrate de incluir su propio index.php.

¿Cómo duplicar archivos de forma eficiente?

Una manera rápida de duplicar el archivo index.php para cada carpeta es utilizando herramientas del entorno de desarrollo, como Visual Studio, que permiten arrastrar y soltar mientras se mantiene pulsada la tecla control.

Código de ejemplo para index.php

<?php
// Silence is golden.

Esta estructura de carpetas y el uso de archivos index.php incrementan la seguridad y mantenibilidad de tu plugin de WordPress, asegurando que tu código esté bien organizado y protegido contra accesos no deseados. ¡Ahora, estás listo para continuar con el desarrollo del plugin y no olvides seguir aprendiendo para potenciar tus habilidades!

Aportes 4

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Fuera del index.php con el // Silence is golden.
Es considerada una buena practica, en los demás archivos que se vayan creando usar la directriz:

<?php defined( 'ABSPATH' ) or die( 'Bye bye!' );

Esto es para evitar que un usuario pueda ejecutar un PHP introduciendo la ruta directamente en el navegador.

Ese archivo index.php que se pone en todas las carpetas es muy importante en temas de seguridad, si esa carpeta no existiera, cualquier desarrollador con conocimientos basicos podria ver la totalidad de nuestros archivos.

Silence is golden

Debemos crear un archivo index.php en CADA CARPETA DE NUESTRO PLUGIN con el siguiente contenido:

<?php
// Silence is golden

El comentario “Silence is golden” puede ser remplazado por cualquiera pero este es el estándar que ha utilizado Wordpress en todos sus plugins.

¿Por qué? La respuesta es seguridad. Si este archivo de índice no está allí, cualquiera puede acceder a la lista del directorio del sitio y puede obtener todos los activos utilizados, lo que no es deseable en ninguna condición.

Hola comunidad, les dejo este repo que hice para generar automáticamente la estructura:
github.com/gianfrancolombardo/cookiecutter-wordpress-plugin