Cómo Crear un Plugin en WordPress desde Cero con PHP (Estructura Profesional, Seguridad y Publicación en WordPress.org)

Aprender cómo crear un plugin en WordPress desde cero con PHP es el paso definitivo que separa a quien solo instala plantillas de un verdadero desarrollador WordPress profesional. Además, encapsular la lógica de negocio de tu sitio o tienda WooCommerce dentro de un plugin modular evita perder tus funciones si algún día cambias de tema visual.

Después de desarrollar decenas de plugins a medida para empresas en Latinoamérica y publicar 6 plugins aprobados en el repositorio oficial de WordPress.org (`@crleguizamon`), en esta guía te comparto la arquitectura exacta, las reglas de seguridad que exige el equipo de revisión de WordPress y cómo apoyarte en IA sin introducir vulnerabilidades.

1. Estructura profesional de carpetas de un Plugin de WordPress

Dentro de wp-content/plugins/, crea una carpeta con un slug único (por ejemplo, dc-gestor-licencias). Para que el proyecto sea escalable y mantenible, organiza tus archivos siguiendo el estándar de programación orientada a objetos (OOP):

dc-gestor-licencias/
├── dc-gestor-licencias.php   # Archivo principal con cabecera y constantes
├── uninstall.php             # Limpieza de opciones/tablas al desinstalar
├── readme.txt                # Metadatos si vas a subirlo a WordPress.org
├── includes/
│   ├── class-dc-activator.php
│   ├── class-dc-rest-api.php # Endpoints de la API REST
│   └── class-dc-admin.php    # Panel de ajustes en wp-admin
└── assets/
    ├── css/
    └── js/

2. Cabecera oficial y bloqueo de acceso directo en el archivo principal

Todo plugin de WordPress comienza con un bloque de comentarios estándar que WordPress lee para mostrarlo en el menú Plugins, seguido inmediatamente por la comprobación de ABSPATH para evitar la ejecución directa del archivo PHP por URL:

<?php
/**
 * Plugin Name:       DC Gestor de Pedidos y API
 * Plugin URI:        https://devcristian.com/plugins/
 * Description:       Sincronización avanzada de pedidos de WooCommerce mediante API REST y Webhooks.
 * Version:           1.0.0
 * Requires at least: 6.2
 * Requires PHP:      7.4
 * Author:            Cristian Leguizamón
 * Author URI:        https://profiles.wordpress.org/crleguizamon/
 * License:           GPL v2 or later
 * Text Domain:       dc-gestor-pedidos
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Salir si se accede directamente
}

define( 'DC_GESTOR_VERSION', '1.0.0' );
define( 'DC_GESTOR_PATH', plugin_dir_path( __FILE__ ) );
define( 'DC_GESTOR_URL', plugin_dir_url( __FILE__ ) );

3. Las 4 Reglas de Seguridad obligatorias (Estándar WordPress.org)

Cuando envías un plugin a revisión oficial en WordPress.org (o cuando programas un plugin de pasarela de pago), tu código es auditado frente a 4 pilares críticos:

  1. Prefijos únicos o Namespaces en PHP: Nunca declares funciones genéricas como guardar_datos(). Usa siempre un prefijo único (como mcod_ o dc_) o clases con namespace DevCristianGestor; para evitar colisiones fatales con otros plugins.
  2. Sanitizar a la entrada (Sanitize): Limpia siempre cualquier dato proveniente de $_POST, $_GET o peticiones de la API REST de WordPress usando funciones nativas como sanitize_text_field( wp_unslash( $_POST['campo'] ) ), absint() o sanitize_email().
  3. Escapar a la salida (Escape): Jamás imprimas una variable con echo $variable; sin escaparla con esc_html(), esc_attr(), esc_url() o wp_kses_post().
  4. Verificar Nonces y Capacidades (Capabilities): Antes de procesar cualquier formulario o petición AJAX, comprueba check_admin_referer() / wp_verify_nonce() junto con current_user_can( 'manage_options' ).

4. Ejemplos reales de Plugins publicados en WordPress.org y WooCommerce

Si quieres inspeccionar el código fuente de plugins reales en producción creados bajo esta arquitectura, puedes revisar nuestros desarrollos oficiales:

Sobre el autor — Cristian Leguizamón (@crleguizamon): Desarrollador Full-Stack especializado en WordPress, WooCommerce, IA y Automatizaciones con más de 9 años de experiencia y 6 plugins publicados en el directorio oficial de WordPress.org.

¿Buscas plugins de cobro recurrente o desarrollo a medida? Explora nuestro Catálogo de Plugins para WooCommerce y WordPress o solicita soporte en DevCristian.com.

¿Necesitas una funcionalidad que no existe en WordPress?

Desarrollamos plugins, integraciones y funcionalidades personalizadas para que tu sitio o tienda WooCommerce haga exactamente lo que tu negocio necesita, con código seguro, compatible y preparado para crecer.

Compartir esta información