Guía para principiantes en el desarrollo de complementos de WordPress: crea tu primer complemento funcional desde cero.

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

Conocimientos básicos de desarrollo de complementos de WordPress.

Antes de comenzar a escribir código, es fundamental comprender los conceptos básicos de los plugins de WordPress. Un plugin de WordPress es, en esencia, una colección de uno o más archivos PHP que se ejecutan a través de las diversas funcionalidades proporcionadas por WordPress.APIYHookPara ampliar o modificar las funciones básicas de WordPress. Los plugins pueden ser tan pequeños como agregar un código abreviado, o tan grandes como construir una plataforma de comercio electrónico completa. Todos los plugins se almacenan en/wp-content/plugins/Bajo el directorio, cada complemento tiene su propia carpeta independiente.

El núcleo del desarrollo de plugins radica en comprender WordPress.动作钩子Y过滤器钩子动作钩子Te permite ejecutar código PHP personalizado en un momento específico (por ejemplo, al cargar una página o al publicar un artículo), y过滤器钩子Esto le permite modificar los diversos datos que WordPress genera durante su funcionamiento (por ejemplo, el contenido de los artículos, los títulos y los resúmenes). El dominio del uso de estos ganchos es clave para el desarrollo de plugins.

Para que el plugin sea reconocido por WordPress, cada plugin debe incluir un encabezado estándar de plugin. Este bloque de encabezado generalmente se encuentra al principio del archivo PHP principal del plugin, y proporciona a WordPress información básica del plugin, como el nombre, la descripción, la versión, el autor, etc. Sin este encabezado, el plugin no aparecerá en la lista de plugins del panel de administración.

Lecturas recomendadas Comprender en profundidad el desarrollo de plugins de WordPress: desde cero hasta la creación de extensiones profesionales.

Crea tu primer complemento

Comenzaremos creando un plugin de “Hello World” lo más sencillo posible. Este plugin mostrará un mensaje de bienvenida personalizado en la parte superior del panel de control del área de administración de WordPress.

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).

Inicializar el directorio de los complementos y el archivo principal.

En primer lugar, necesitas configurar un entorno de desarrollo local o un sitio de pruebas. /wp-content/plugins/ Creamos una nueva carpeta en el directorio. La llamaremos my-first-pluginLuego, dentro de esa carpeta, cree un archivo PHP principal. Por lo general, lo nombramos con el nombre del plugin; en este caso, crearemos uno. my-first-plugin.php

En my-first-plugin.php Al comienzo del archivo, es necesario agregar la información de la cabecera del complemento. Este es el “documento de identidad” del complemento.

Escribir la información de la cabecera del complemento y las funciones principales.

Después de crear el archivo, ábralo e ingresa el siguiente código:

<?php
/**
 * Plugin Name:       我的第一个插件
 * Plugin URI:        https://yourwebsite.com/my-first-plugin
 * Description:       这是一个用于学习插件开发的入门示例,会在仪表盘显示欢迎信息。
 * Version:           1.0.0
 * Author:            你的名字
 * Author URI:        https://yourwebsite.com
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 */

Esta anotación define la información básica del complemento. Después de guardar el archivo, inicie sesión en el área de administración de WordPress y vaya a la página de “Complementos”. Debería poder ver un nuevo complemento llamado “Mi primer complemento”. Ahora, active el complemento, que aún no tiene ninguna funcionalidad.

Lecturas recomendadas Guía completa para el desarrollo de plugins para WordPress: Cómo crear su propio plugin desde cero

A continuación, agregaremos la primera función. Utilizaremos para ello add_action() La función monta una función personalizada en el gancho de acción de WordPress. Debajo del comentario de encabezado, agregue el siguiente código:

/\nAñadir un mensaje de bienvenida en la parte superior del panel de control
function my_first_plugin_admin_notice() {
    echo '<div class="notice notice-success is-dismissible"><p>¡Bienvenido a usar “Mi primer complemento”! Este es un comienzo exitoso.</p></div>'؛
}
add_action( 'admin_notices', 'my_first_plugin_admin_notice' );

Aquí, hemos creado uno llamado my_first_plugin_admin_notice El objetivo de esta función es generar un código HTML que muestre una notificación con el estilo del panel de control de WordPress. A continuación, utilizamos The purpose of this function is to output an HTML code that displays a notification in the style of the WordPress dashboard. Then, we use < add_action( ‘admin_notices’, ‘my_first_plugin_admin_notice’ ) ¿Cómo se puede montar esta función en? admin_notices Esto está en el gancho de acción. Esto significa que cada vez que WordPress se prepare para mostrar notificaciones de administración en segundo plano, ejecutará nuestra función.

Después de guardar el archivo, actualiza cualquier página en el backend de WordPress. Verás un cuadro de mensaje de éxito de color verde en la parte superior de la página. ¡Felicitaciones! Tu primer plugin funcional ya está en funcionamiento.

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%.

Añadir una página de configuración para el complemento

Un complemento completo generalmente debe proporcionar opciones de configuración al usuario. Agregaremos una página de configuración simple a “Mi primer complemento” que permita a los usuarios personalizar el texto que se muestra en el mensaje de bienvenida.

Crear una entrada de menú de administración.

En primer lugar, necesitamos agregar una entrada de menú en la barra lateral de administración de WordPress. Para ello, debemos utilizar add_action() La función se ha montado (es decir, se ha asociado correctamente con el sistema o el componente en el que se utiliza). admin_menu Gancho. Continúe agregando el siguiente código en el archivo principal del complemento:

// 添加插件设置页面到后台菜单
function my_first_plugin_add_menu() {
    add_menu_page(
        ‘我的第一个插件设置’, // 页面标题
        ‘第一个插件’,         // 菜单标题
        ‘manage_options’,     // 权限 (manage_options 表示管理员权限)
        ‘my-first-plugin-settings’, // 菜单 slug
        ‘my_first_plugin_settings_page’, // 用于显示页面内容的回调函数
        ‘dashicons-smiley’,   // 菜单图标 (Dashicons)
        100                    // 菜单位置
    );
}
add_action( ‘admin_menu’, ‘my_first_plugin_add_menu’ );

add_menu_page() La función es una función central de WordPress, que se utiliza para agregar un menú principal en segundo plano. Definimos el título de la página, el texto que se muestra en el menú y los permisos de acceso (aquí se configura para que solo los administradores puedan acceder a él). manage_optionsúnicoslugy el nombre de la función de devolución de llamada que se utiliza para mostrar el contenido de la página de salida. my_first_plugin_settings_page

Lecturas recomendadas Guía para principiantes de alojamiento en la nube: aprenda desde cero cómo desplegar y administrar servidores en la nube.

Crear un formulario para la página de configuración.

A continuación, necesitamos definir my_first_plugin_settings_page El objetivo de este script es renderizar el contenido HTML de la página de configuración y manejar la lógica de guardado del formulario. Este script creará un formulario simple, cuyos datos se enviarán a través de WordPress. options El API se utiliza para guardar y leer datos.

/n// Establecer el contenido de la página
function my_first_plugin_settings_page() {
    // Comprobar los permisos del usuario
    if ( !current_user_can( ‘manage_options’ ) ) {
        wp_die( __( ‘No tienes permiso para acceder a esta página.’ ) );
    }

// Guardar los datos del formulario
    if (isset( $_POST[‘my_first_plugin_message’] ) ) {
        update_option( ‘my_first_plugin_custom_message’, sanitize_text_field( $_POST[‘my_first_plugin_message’] ) );
        echo ‘<div class="“notice" notice-success is-dismissible”><p>¡Los ajustes se han guardado!</p></div>’;
    }

// 获取已保存的消息
    $saved_message = get_option( ‘my_first_plugin_custom_message’, ‘这是一个通过设置页面定制的欢迎消息!’ );

// 输出表单 HTML
    ?&gt;
    <div class="“wrap”">
        <h1>La configuración de mi primer complemento</h1>
        <form method="“post”" action="/es/“”/" data-trp-original-action="“”">
            <table class="“form-table”">
                <tr>
                    <th scope="“row”"><label for="“custom_message”">Mensaje de bienvenida personalizado</label></th>
                    <td>
                        <input type="“text”" id="“custom_message”" name="“my_first_plugin_message”" value="”NO NUMERIC NOISE KEY" 1001” class="“regular-text”" />
                        <p class="“description”">Introduce el texto que deseas que se muestre en las notificaciones del panel de control.</p>
                    </td>
                </tr>
            </table>
            <?php submit_button( ‘保存更改’ ); ?>
        <input type="hidden" name="trp-form-language" value="es"/></form>
    </div>
    ¿php?  
}

En esta función, primero verificamos los permisos del usuario. Luego, comprobamos si se ha enviado una solicitud POST (es decir, si el usuario ha hecho clic en el botón Guardar). Si es así, utilizamos update_option() El funcionamiento de la función es guardar el mensaje del formulario en WordPress. options En la tabla de la base de datos, y utilizar sanitize_text_field() Llevar a cabo un filtrado de seguridad. A continuación, utilizamos get_option() Leer el valor guardado previamente y, si no existe, usar el valor por defecto. Finalmente, mostramos un formulario HTML que incluye un cuadro de entrada de texto.

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.

Modifique la función de notificación para usar mensajes personalizados.

Por último, necesitamos modificar lo que creamos anteriormente. my_first_plugin_admin_notice En el caso de los botones, podemos crear una función que lea el mensaje de las opciones que hemos guardado, en lugar de mostrar un texto fijo.

/ / Función de notificación modificada
function my_first_plugin_admin_notice() {
    // Obtener el mensaje personalizado de la base de datos
    $custom_message = get_option( ‘my_first_plugin_custom_message’, ‘¡Bienvenido a “Mi primer plugin”! Este es un gran comienzo.’ );
    echo ‘<div class="“notice" notice-success is-dismissible”><p>’\n‘ . esc_html( $custom_message ) . '</p></div>’;
}

Ahora, active el complemento y verá el menú “Primer complemento” en la barra lateral de la parte trasera. Haga clic para entrar, modifique el mensaje y guárdelo. Actualice otras páginas de la parte trasera y verá que el mensaje de notificación en la parte superior ya se ha convertido en el contenido que usted personalizó. Con esto, un pequeño complemento con las funciones básicas de creación, eliminación, modificación y consulta está listo.

Mejores prácticas para el desarrollo de complementos y técnicas avanzadas.

Para desarrollar un complemento que sea fácil de mantener, seguro y compatible, es necesario seguir algunas mejores prácticas.

Asegúrate de que el código sea seguro y los datos estén limpios.

La seguridad es la prioridad principal en el desarrollo de complementos. Nunca confíes en la entrada del usuario o en los datos procedentes de fuentes externas. WordPress ofrece una gran variedad de funciones que te ayudarán a depurar, escapar y validar los datos.
* Limpiar la entrada: usar funciones como sanitize_text_field()sanitize_email()sanitize_url() Para procesar los datos enviados por el formulario.
* Salida escapada: se debe escapar cualquier dato que se vaya a enviar a HTML, JavaScript o una URL. Para ello, se utiliza <. esc_html()esc_attr()esc_url() Y wp_kses_post() y otras funciones.
* Comprobación de permisos: Antes de realizar cualquier operación de administración, asegúrese de usar current_user_can() Verificar si el usuario actual tiene los permisos correspondientes, por ejemplo, current_user_can( ‘manage_options’ )
* Verificación de Nonce: Para las operaciones que implican cambios en los datos (como el envío de formularios o las solicitudes AJAX), se utiliza wp_nonce_field()wp_verify_nonce() Para prevenir ataques de falsificación de solicitudes entre sitios. Podemos mejorar el formulario de la página de configuración anterior e incluir la validación de nonce para aumentar la seguridad.

Implementar la internacionalización del complemento

Para que tu complemento pueda ser utilizado por usuarios de todo el mundo, es esencial llevar a cabo un proceso de internacionalización. Esto requiere que prepares la traducción de todas las cadenas de texto dirigidas a los usuarios.
1. Utilizar el campo de texto: Definirlo en los comentarios de la cabecera del plugin. Text Domain(Por ejemplo, my-first-plugin), y utilícelo en todas las cadenas de texto que necesiten ser traducidas. __(‘文本’, ‘my-first-plugin’) o _e(‘文本’, ‘my-first-plugin’) Envolvimiento de funciones (Function Wrapping).
2. Generar archivos de traducción: utilizar herramientas como Poedit para escanear todos los cadenas traducibles dentro del complemento y generar .pot Luego, traduzca el archivo de plantilla a varios idiomas. .po Y .mo Documentos.
3. Cargar el campo de texto: al inicializar el complemento, use load_plugin_textdomain() La función carga tus archivos de traducción.

Gestionar el ciclo de vida de los complementos.

Un complemento profesional debe manejar adecuadamente los eventos de activación, desactivación y desinstalación. Puede lograr esto creando las funciones de hook correspondientes.
* Activar el gancho: usar register_activation_hook() Para registrar una función que se ejecute cuando se active el complemento. Por lo general, se utiliza para crear tablas de base de datos, inicializar opciones predeterminadas o verificar la compatibilidad del entorno.
* Desactivar los ganchos: usar register_deactivation_hook()Se usa normalmente para limpiar datos temporales o detener tareas programadas.
* Desinstalar el gancho: usar register_uninstall_hook()Nota: Este gancho se usa para ejecutarse cuando el usuario elimina por completo el complemento de WordPress, con el fin de limpiar todas las opciones de base de datos, tablas personalizadas y archivos creados por el complemento. Se debe proceder con precaución y se debe informar claramente al usuario al respecto.

resúmenes

Este artículo te guiará, desde cero, a través del proceso central de desarrollo de plugins de WordPress. Primero, aprenderás los conceptos básicos de los plugins, especialmente el papel fundamental de los ganchos de acción y los ganchos de filtro. Luego, crearás manualmente un marco de plugin que incluya carpetas, archivos principales e información de encabezado estándar, y lo implementarás mediante add_action() Las funciones y admin_notices El gancho implementó la primera función de visualización. Luego, al agregar una página de configuración al complemento, aprendiste cómo usarlo. add_menu_page() Cómo crear un menú de fondo y cómo usarlo. update_option() Y get_option() Realizar tareas de inserción, eliminación, modificación y consulta de datos. Por último, analizamos las mejores prácticas que deben seguirse en el desarrollo profesional, como la codificación segura, la internacionalización y la gestión del ciclo de vida de los complementos. Siguiendo estos pasos y principios, tendrás la capacidad de desarrollar complementos de WordPress sencillos, prácticos y seguros de forma independiente, y podrás partir de ahí para explorar funciones más complejas.

FAQ Preguntas más frecuentes

¿Qué conocimientos básicos se necesitan para desarrollar un complemento de WordPress?

Necesitas dominar la sintaxis básica del lenguaje PHP, ya que el código del complemento está escrito principalmente en PHP. Al mismo tiempo, debes tener cierto conocimiento de HTML, CSS y JavaScript básico, que se utilizan para crear interfaces y funcionalidades interactivas. Lo más importante es que debes estar familiarizado con la arquitectura central de WordPress, especialmente con suHookEl sistema (acciones y filtros),选项API数据库APIdemasiadoREST APITambién es fundamental comprender los estándares de codificación y las mejores prácticas de seguridad de WordPress.

¿Cómo depuro y pruebo mi complemento?

Existen varios métodos de depuración para el desarrollo de plugins de WordPress. En primer lugar, en tu wp-config.php El archivo se abrió en el programa. WP_DEBUG Y WP_DEBUG_LOG Constante, esto registrará los errores y advertencias de PHP en el /wp-content/debug.log En el archivo, es más fácil detectar y resolver problemas. En segundo lugar, para el código con una lógica compleja, se puede utilizar error_log() La función envía el valor de la variable al registro. Además, se recomienda desarrollar en un entorno de desarrollo local (como Local by Flywheel, XAMPP) o en un sitio de pruebas temporal para evitar afectar el sitio web de producción. También es una buena práctica usar un sistema de control de versiones (como Git) para gestionar los cambios en el código.

¿Cómo puede mi complemento ser compatible con diferentes versiones de WordPress?

Para garantizar una amplia compatibilidad del complemento, se deben tener en cuenta los siguientes puntos durante su desarrollo: evitar el uso de funciones que solo se introdujeron en la última versión de WordPress y, si es necesario usarlas, se deben emplear de forma adecuada. function_exists() Lleve a cabo una comprobación de condiciones y proporcione una solución de respaldo. En los comentarios del encabezado del complemento, haga esto mediante
. Requires at least Y Tested up to El campo especifica claramente el rango de versiones de WordPress que admites. Prueba tu complemento regularmente en la última versión de WordPress y actualiza la declaración de compatibilidad a tiempo. Seguir los estándares de codificación oficiales de WordPress también puede reducir al mínimo los problemas de compatibilidad causados por las actualizaciones del núcleo.

¿Cómo puedo distribuir mi complemento una vez que esté desarrollado?

Existen dos formas principales de distribuir los complementos. La primera es publicarlos de forma gratuita en el directorio oficial de complementos de WordPress, lo que permitirá que millones de usuarios de todo el mundo los descubran y descarguen. Para ello, deberás visitar WordPress.org, enviar el complemento y asegurarte de que el código cumpla con sus normas y estándares de revisión. La segunda opción es venderlos como complementos comerciales a través de tu propio sitio web. En este caso, deberás encargarte tú mismo de las ventas, los pagos, la validación de licencias y el soporte al cliente. Para los complementos comerciales, se suele utilizar la programación orientada a objetos (POO) para organizar mejor la estructura del código y, posiblemente, integrar marcos que simplifiquen la gestión de licencias, las notificaciones de actualizaciones, etc. En cualquiera de los casos, es muy importante proporcionar documentación clara y soporte oportuno.