Dominar completamente el desarrollo de plugins para WordPress: construir funciones personalizadas desde cero.

Lectura en 3 minutos
2026-03-20
2026-06-03
2,934
Gano comisiones cuando compras a través de los enlaces de abajo, sin coste adicional para ti.

¿Por qué elegir desarrollar un plugin para WordPress?

WordPress, como el sistema de gestión de contenidos más popular a nivel mundial, debe su gran capacidad de expansión principalmente al mecanismo de plugins. Al desarrollar plugins personalizados, los desarrolladores pueden superar las limitaciones de los temas existentes y agregar cualquier función que sea necesaria a un sitio web, sin tener que modificar los archivos centrales del sistema. Esto garantiza la independencia y mantenibilidad de las funciones, al mismo tiempo que facilita su migración y reutilización en diferentes sitios web.

Un plugin bien diseñado debe ser compatible con las actualizaciones principales de WordPress y seguir sus estándares de codificación y buenas prácticas. Esto no solo mejora la seguridad del sitio web, sino que también sienta las bases para futuras iteraciones de funcionalidades. Ya sea para satisfacer necesidades comerciales específicas, resolver problemas que los plugins existentes no pueden abordar de manera óptima, o para lanzar un producto comercial, dominar las habilidades de desarrollo de plugins es un paso esencial en el camino hacia el avance como desarrollador de WordPress.

Construyendo tu primer plugin: la estructura básica

Para crear un plugin para WordPress, primero es necesario entender su composición básica. Cada plugin requiere al menos un archivo principal, que generalmente se denomina con el nombre del propio plugin. Por ejemplo… my-first-plugin.phpLos comentarios de cabecera del plugin que se encuentran en la parte superior de este archivo son esenciales, ya que proporcionan al sistema WordPress información básica sobre el plugin.

Lecturas recomendadas Dominar el desarrollo de plugins para WordPress: Construye tu primer módulo de funcionalidad personalizado desde cero

Crear el archivo principal del plugin

El archivo principal de un plugin es el punto de entrada para su funcionamiento. Es necesario agregar un bloque de comentarios que contenga la información estándar del plugin en la parte superior de ese archivo. A continuación, se muestra un ejemplo de código básico:

Servidor de WordPress de UltaHost
Garantía de reembolso en 30 días, ancho de banda ilimitado y bases de datos, protección gratuita contra ataques DDoS; descuento del 50% al comprar por 3 años (versiones de 4 TB y 5 TB).
<?php
/**
 * Plugin Name:       我的第一个插件
 * Plugin URI:        https://example.com/my-first-plugin
 * Description:       这是一个用于学习WordPress插件开发的示例插件。
 * Version:           1.0.0
 * Author:            你的名字
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 */

Guarde el código en un archivo PHP y colóquelo en el directorio correspondiente. /wp-content/plugins/ Un nuevo folder dentro del directorio (por ejemplo…) my-first-pluginLuego, podrás verlo y activarlo en la página de “Plugins” del panel de administración de WordPress. Aunque este plugin aún no cuenta con ninguna función, ya es un plugin legal y reconocido por WordPress.

Comprender la estructura del directorio de plugins

A medida que aumentan las funcionalidades de los plugins, una estructura de directorios adecuada es de vital importancia para la organización del código. Un directorio típico de un plugin puede contener las siguientes partes:
El archivo del plugin principal (por ejemplo, my-first-plugin.phpSe encuentra en la carpeta raíz del plugin y contiene información sobre el mismo.
- includes/ Directorio: Alberga los archivos de las clases que contienen funciones esenciales o los archivos que contienen dichas funciones.
- admin/ Directorio: Alberga el código relacionado con la interfaz de administración del backend.
- public/ Directorio: Alberga el código relacionado con la lógica del lado del cliente (frontend).
- assets/ Directorio: Alberga archivos de recursos como hojas de estilo CSS, scripts JavaScript e imágenes.
- languages/ Directorio: Alberga los archivos de traducción internacional (.po/.mo).

Esta estructura modular hace que el código sea más claro y facilita la colaboración y el mantenimiento en equipos.

Conceptos centrales del desarrollo: Ganchos (hooks) y Filtros (filters)

La filosofía central del desarrollo de plugins para WordPress es el concepto de “ganchos” (Hooks). Los ganchos te permiten insertar código personalizado en momentos o puntos específicos del funcionamiento de WordPress, con el fin de modificar o expandir su comportamiento predeterminado. Existen principalmente dos tipos de ganchos: los ganchos de acción (Action Hooks) y los ganchos de filtro (Filter Hooks).

Lecturas recomendadas Desarrollo de plugins para WordPress: Desde los principios hasta la maestría: Te enseñamos paso a paso a crear funciones personalizadas

Usar ganchos de acción para ejecutar código personalizado.

Los ganchos de acción (action hooks) te permiten realizar ciertas acciones en momentos específicos del proceso de ejecución de WordPress, como enviar notificaciones después de la publicación de un artículo o agregar código en la parte superior de una página. add_action() Las funciones pueden permitir que tus funciones personalizadas se conecten (o “se monten”) a un gancho de acción (action hook).

Por ejemplo, creemos una función que permite mostrar información personalizada en el pie de página de la página principal de un sitio web. Primero, necesitas definir una función de devolución de llamada (callback function), y luego… add_action() Límbialo a… wp_footer Este gancho.

// Definir una función de devolución de llamada
function myplugin_add_footer_text() {
    echo '<p style="text-align:center;">¡Gracias por utilizar este complemento!</p>'¿Cómo traducir el siguiente texto al español?  
\n';
}
// Montar la función en el gancho de acción `wp_footer`  
add_action( 'wp_footer', 'myplugin_add_footer_text' );

Cuando WordPress llega a la sección del pie de página, esta se llama automáticamente. myplugin_add_footer_text() La función debe generar como salida el texto que hemos definido.

hosting.com Alojamiento compartido
Alto rendimiento con CPU AMD EPYC, almacenamiento SSD NVMe y LiteSpeed, asistencia interna de expertos 24 horas al día, 7 días a la semana, medidas de seguridad avanzadas como SSL, fuerza bruta, protección contra malware y DDoS, ahorro de hasta 73%.

Modificar datos utilizando los ganchos (hooks) de los filtros

Los ganchos de filtro te permiten “modificar” los datos antes de que sean utilizados o guardados. Por ejemplo, puedes cambiar el título de un artículo o filtrar el contenido de los comentarios. add_filter() Las funciones pueden permitir que tus funciones personalizadas se conecten (o “se monten”) a un gancho (hook) de un filtro.

Supongamos que queremos agregar automáticamente un símbolo de marca comercial al final de los títulos de todos los artículos. Podemos vincular una función a este proceso. the_title Filtros.

// 定义一个回调函数,它接收原始标题作为参数
function myplugin_add_trademark_to_title( $title ) {
    // 仅在前端文章列表和单篇文章页面修改,避免影响后台
    if ( ! is_admin() ) {
        $title .= ' ™';
    }
    // 必须返回修改后的值
    return $title;
}
// 将函数挂载到 `the_title` 过滤器钩子
add_filter( 'the_title', 'myplugin_add_trademark_to_title' );

En este ejemplo,$title El parámetro es el texto del título original; la función debe modificarlo y luego devolver un nuevo valor. Esta es la diferencia clave entre los filtros y las acciones: los filtros deben devolver un valor.

Lecturas recomendadas Guía de introducción al desarrollo de complementos de WordPress: crea tu primer módulo funcional de cero a uno.

Añadir una página de administración y opciones de configuración para el plugin.

Un plugin con funciones completas suele necesitar proporcionar una interfaz de configuración en el backend de WordPress. Esto se puede lograr agregando un menú de administración principal o submenús de configuración. WordPress ofrece una API amplia para crear estas páginas.

Crear un elemento de menú para configurar el plugin

utilizar add_menu_page() o add_submenu_page() Las funciones pueden agregar menús de fondo a tus plugins. Por lo general, los plugins sencillos incluyen su propia página de configuración como un submenú dentro del menú principal de “Configuraciones”.

Alojamiento compartido InterServer
Alojamiento compartido $2.50 USD al mes , primer mes $0.1 USD código promocional tryinterserver, 461 scripts de aplicaciones en la nube, instalación en un clic.

El siguiente código demuestra cómo agregar una página de menú secundario y definir la función de callback que se ejecuta para mostrarla.

/ En el menú de “Configuración” en segundo plano, agregue un submenú
function myplugin_add_settings_page() {
    add_options_page(
        'Configuración de mi plugin', // Título de la página
        'Mi plugin',   // Título del menú
        'manage_options', // Requisito de permisos (solo accesible para administradores)
        'myplugin-settings', // Slug del menú
        'myplugin_render_settings_page' // Función de devolución de llamada para mostrar el contenido de la página
    );
}
// Utilice el gancho de acción `admin_menu` para ejecutar la función anterior durante la inicialización del menú en segundo plano
add_action( 'admin_menu', 'myplugin_add_settings_page' );

// Defina la función de devolución de llamada para renderizar la página de configuración
function myplugin_render_settings_page() {
    ?&gt;
    <div class="wrap">
        <h1>Configuraciones de mi plugin</h1>
        <form action="/es/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            // 输出设置字段、非ce等安全信息
            settings_fields( 'myplugin_settings_group' );
            do_settings_sections( 'myplugin-settings' );
            submit_button();
            ?>
        <input type="hidden" name="trp-form-language" value="es"/></form>
    </div>
    ¿php?  
}

Usar la API de configuración para registrar opciones.

Tratar y verificar los envíos de formularios de manera manual es un proceso tedioso e inseguro. La API de Configuraciones (Settings API) de WordPress nos proporciona un método estándar y seguro para crear, verificar y guardar opciones de configuración.

Necesitas utilizar… register_setting(), add_settings_section() Y add_settings_field() Puedes usar funciones como estas para definir tus configuraciones.

// 在插件初始化时注册设置
function myplugin_register_settings() {
    // 1. 注册一个设置组及其数据
    register_setting(
        'myplugin_settings_group', // 设置组名称,需与 settings_fields() 参数一致
        'myplugin_option_name' // 存储在数据库中的选项名
    );

// 2. 添加一个设置区域(Section)
    add_settings_section(
        'myplugin_section_main', // Section ID
        '主要设置', // 标题
        null, // 可选的描述回调函数
        'myplugin-settings' // 所属的页面slug
    );

// 3. 向该区域添加一个设置字段
    add_settings_field(
        'myplugin_field_text', // 字段ID
        '示例文本输入', // 字段标签
        'myplugin_render_text_field', // 渲染字段HTML的回调函数
        'myplugin-settings', // 页面slug
        'myplugin_section_main' // Section ID
    );
}
add_action( 'admin_init', 'myplugin_register_settings' );

// 渲染文本输入字段的回调函数
function myplugin_render_text_field() {
    $option = get_option( 'myplugin_option_name' );
    $value = isset( $option['text'] ) ? $option['text'] : '';
    echo '<input type="text" name="myplugin_option_name[text]" value="' . esc_attr( $value ) . '" />';
}

Al configurar la API, se puede controlar el proceso de envío y validación de los formularios (puedes establecer las reglas de validación según tus necesidades). register_setting La definición de las funciones de validación, así como el proceso de almacenamiento de datos, son gestionados automáticamente por el núcleo de WordPress, lo que mejora significativamente la seguridad y la eficiencia del desarrollo.

resúmenes

El desarrollo de plugins para WordPress es un proceso que convierte las ideas en funciones reales, y su esencia radica en comprender y utilizar con maestría el sistema de ganchos (hooks). Comenzando por crear un archivo de plugin sencillo, aprenderás gradualmente cómo agregar nuevas funcionalidades mediante los ganchos de acciones, modificar datos con los ganchos de filtros, y finalmente construir plugins profesionales y fáciles de usar mediante la creación de páginas de administración y el uso de la API de configuración. Seguir los estándares de codificación de WordPress, mantener el código modularizado y prestar atención a la seguridad son las claves para desarrollar plugins de alta calidad. Al seguir estos pasos, podrás crear funciones personalizadas potentes y estables para cualquier sitio web de WordPress.

FAQ Preguntas más frecuentes

¿Qué conocimientos básicos se necesitan para desarrollar plugins para WordPress?

Es necesario que cuentes con conocimientos básicos del lenguaje de programación PHP, ya que el plugin está escrito principalmente en este idioma. Además, es esencial tener un conocimiento elemental de HTML, CSS y JavaScript, ya que son fundamentales para crear interfaces de usuario e interacciones frontales. Sería de gran ayuda comprender los conceptos básicos de las bases de datos MySQL (aunque WordPress proporciona clases prácticas para la gestión de bases de datos) así como la arquitectura básica de WordPress (como las estructuras de los templates y los mecanismos de iteración).

¿Cómo depuro mi plugin para WordPress?

En primer lugar, asegúrate de que en wp-config.php El archivo se abrió en el programa. WP_DEBUG Y WP_DEBUG_LOGEsto registrará los errores y advertencias de PHP en… /wp-content/debug.log Los archivos deben almacenarse en el sistema, en lugar de ser mostrados directamente en la página, para evitar afectar la experiencia del usuario. En segundo lugar, se puede utilizar… error_log() La función emite información de depuración personalizada en el registro. Para lógicas complejas, utilizar la función de depuración con puntos de interrupción de un IDE (como Xdebug) es la forma más eficiente.

¿Cómo puedo asegurarme de que mi plugin sea compatible con diferentes versiones de WordPress?

Durante el desarrollo, se debe evitar utilizar funciones que ya han sido descontinuadas y consultar la documentación oficial para conocer en qué versiones de WordPress dichas funciones fueron introducidas. Puedes hacerlo en el archivo principal del plugin. @requires at least o @requires PHP Declara los requisitos mínimos en las notas del encabezado del plugin. En el código, puedes utilizarlos según sea necesario. function_exists() o class_exists() Se verifica si una función o clase está disponible, a fin de proporcionar una solución alternativa que garantice la compatibilidad con versiones anteriores del software.

¿Cómo puedo enviar mi plugin al directorio oficial de plugins?

En primer lugar, debes asegurarte de que tu plugin cumpla al pie de la letra con las guías oficiales de desarrollo de plugins y los estándares de codificación. Luego, solicita un repositorio SVN en WordPress.org. Envía el código de tu plugin (incluyendo el archivo README.txt y el archivo principal que cumpla con los estándares) a ese repositorio SVN. /trunk Después de enviar tu plugin, el equipo oficial lo revisará. Una vez que la revisión sea aprobada, tu plugin aparecerá en el directorio oficial, donde los usuarios de todo el mundo podrán descargarlo e instalarlo.