Iniciar un viaje de desarrollo de plugins de WordPress significa que has dominado la creación de software para usuarios de todo el mundo.

Lectura en 3 minutos
2026-03-11
2026-06-04
1,969
Gano comisiones cuando compras a través de los enlaces de abajo, sin coste adicional para ti.

Empezar a desarrollar plugins para WordPress significa que has adquirido la capacidad de agregar nuevas funcionalidades, automatizar procesos y crear valor único para millones de sitios web en todo el mundo. Ya sea que lo hagas para satisfacer necesidades comerciales específicas o para compartir tus creaciones con la comunidad, comprender su arquitectura y sus principios es el primer paso hacia el éxito. Un plugin es, en esencia, un conjunto de código PHP que sigue las convenciones y API de WordPress, y se integra sin problemas en el sistema central de la plataforma. Permite modificar o mejorar el comportamiento de esta última a través de mecanismos como los “ganchos” (Hooks) y los “filtros” (Filters).

Configurar el entorno de desarrollo y crear plugins básicos

Antes de comenzar a escribir la primera línea de código, es esencial disponer de un entorno de desarrollo aislado y profesional. Se recomienda utilizar herramientas de desarrollo locales como Local by Flywheel, DevKinsta o MAMP, las cuales permiten configurar rápidamente un entorno que incluye PHP, MySQL y WordPress.

Crear el primer archivo de plugin

Todo comenzó con un archivo PHP. En el caso de WordPress… wp-content/plugins En el directorio, cree una nueva carpeta para su nuevo complemento. Por ejemplo, crearemos una carpeta llamada… my-first-plugin El directorio correspondiente. Luego, dentro de ese directorio, cree el archivo principal, que suele tener el mismo nombre que el directorio.my-first-plugin.php

Lecturas recomendadas De cero a uno: guía completa para el desarrollo de complementos de WordPress y tutorial práctico.

La nota de cabecera de este archivo principal es el “dNI” del plugin, ya que proporciona toda la metainformación necesaria para que WordPress lo reconozca. A continuación se muestra su estructura básica:

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:            Your Name
 * Author URI:        https://example.com
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 * Domain Path:       /languages
 */

Después de guardar el archivo, inicie sesión en la consola de administración de WordPress y vaya a la página de “Plugins”. Allí debería ver un nuevo plugin llamado “Mi primer plugin”. Aunque por el momento no tiene ninguna función, puede activarlo o desactivarlo a voluntad. Esto significa que ha creado con éxito el esqueleto de un plugin.

Comprender los conceptos clave: Ganchos de acción (Action Hooks) y Filtros (Filters).

El núcleo del desarrollo de plugins para WordPress es el mecanismo de ganchos (hooks). Los ganchos permiten que su código se integre en los procesos centrales de WordPress en momentos específicos para ejecutar su lógica.

Acción de gancho (Action Hook)

Los “Action Hooks” (Gancho de Acción) ejecutan código cuando ocurren eventos específicos, como la publicación de un artículo, el inicio de sesión de un usuario o la carga de un modelo. Usted los utiliza para automatizar ciertas tareas o reacciones según tales eventos. add_action() La función enlaza su función de callback con el gancho (hook).

Por ejemplo, queremos mostrar un mensaje personalizado en la parte superior de la página de edición de artículos en el backend de administración. Podemos utilizar… edit_form_top Este es un ganchito de acción.

Lecturas recomendadas ¿Cómo elegir y desarrollar un plugin de WordPress de alta calidad? Una guía desde el nivel principiante hasta el avanzado.

// 在文章编辑页面顶部添加自定义提示
add_action( 'edit_form_top', 'myplugin_edit_form_top_message' );
function myplugin_edit_form_top_message( $post ) {
    if ( 'post' === $post-&gt;post_type ) {
        echo '<div class="notice notice-info"><p>¡Este es un mensaje personalizado que proviene de ‘Mi primer plugin’!</p></div>';
    }
}

Hook de filtro

Los “ganchos de filtro” (Filter Hooks) se utilizan para modificar los datos. Permite modificar sus valores antes de que sean utilizados (por ejemplo, al guardarlos en una base de datos o al mostrarlos en un navegador). add_filter() Función.

Un ejemplo clásico es modificar las últimas palabras del contenido de un artículo. Podemos utilizar… the_content Filtros.

// 在文章内容末尾附加版权信息
add_filter( 'the_content', 'myplugin_add_copyright_to_content' );
function myplugin_add_copyright_to_content( $content ) {
    if ( is_single() ) {
        $content .= '<p><small>© 2026 Todos los derechos reservados. Este artículo ha sido optimizado utilizando mi plugin.</small></p>';
    }
    return $content;
}

Crear una página de administración de plugins y sus opciones.

Para que los usuarios puedan configurar su plugin, es necesario crear una página de opciones para ellos. WordPress ofrece una amplia API que permite agregar páginas al menú de administración y gestionar sus opciones.

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 menú de administración

utilizar add_menu_page() o add_options_page() Las funciones le permiten agregar un menú principal o un menú secundario a su plugin. Por lo general, los plugins sencillos se incluyen en el menú “Ajustes” como una página secundaria.

En primer lugar, necesitamos enlazar una función durante la inicialización del administrador para registrar el menú.

// 在管理后台添加设置菜单
add_action( 'admin_menu', 'myplugin_add_admin_menu' );
function myplugin_add_admin_menu() {
    add_options_page(
        '我的插件设置',          // 页面标题
        '我的插件',             // 菜单标题
        'manage_options',      // 所需权限
        'myplugin-settings',   // 菜单别名 (slug)
        'myplugin_render_settings_page' // 用于输出页面内容的回调函数
    );
}

Página de configuración de renderizado y opciones de salvado

A continuación, necesitamos definir myplugin_render_settings_page Se trata de una función que genera el formulario HTML de la página y se encarga de guardar los datos ingresados en dicho formulario. Utilizaremos la API de Configuraciones (Settings API) de WordPress para registrar, verificar y guardar las opciones de manera segura.

Lecturas recomendadas Cómo seleccionar y desarrollar complementos de WordPress de alta calidad: de principiante a experto.

// 渲染设置页面
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
            // 输出必要的安全字段和隐藏字段
            settings_fields( 'myplugin_settings_group' );
            // 输出设置章节和字段
            do_settings_sections( 'myplugin-settings' );
            // 输出提交按钮
            submit_button();
            ?>
        <input type="hidden" name="trp-form-language" value="es"/></form>
    </div>
    <?php
}

// 初始化设置
add_action( 'admin_init', 'myplugin_settings_init' );
function myplugin_settings_init() {
    // 注册一个设置组和字段
    register_setting(
        'myplugin_settings_group', // 设置组名
        'myplugin_option_message'  // 选项名,将保存在 wp_options 表中
    );

    // 添加一个设置章节
    add_settings_section(
        'myplugin_section_basic',
        '基础设置',
        null, // 章节描述回调函数,可以为空
        'myplugin-settings' // 页面别名
    );

    // 向章节添加一个字段
    add_settings_field(
        'myplugin_field_message',
        '自定义消息',
        'myplugin_field_message_render', // 渲染字段 HTML 的函数
        'myplugin-settings',
        'myplugin_section_basic'
    );
}

// 渲染 ‘自定义消息’ 字段
function myplugin_field_message_render() {
    $option = get_option( 'myplugin_option_message' );
    ?>
    <input type='text' name='myplugin_option_message' value='<?php echo esc_attr( $option ); ?>'>
    <p class="description">Los mensajes introducidos aquí se mostrarán en la interfaz principal.</p>
    ¿php?  
}

Ahora, puede ver una página de configuración en “Ajustes” -> “Mis plugins” que contiene un cuadro de entrada de texto, y puede guardar los mensajes allí. Para utilizar esta opción, puede hacerlo desde la interfaz frontal. get_option( 'myplugin_option_message' ) Obtén su valor.

Implementar códigos cortos personalizados

Los códigos cortos (shortcodes) permiten a los usuarios utilizar etiquetas sencillas entre paréntesis cuadradas para realizar acciones específicas o acceder a contenido de manera rápida y fácil. [my_shortcode]Incorporar contenido dinámico en artículos, páginas o herramientas es una forma amigable para el usuario de aprovechar las funciones avanzadas que ofrecen los plugins.

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.

Registar un código corto

utilizar add_shortcode() Existe una función para registrar su código corto. Esta función acepta dos parámetros: la etiqueta del código corto y la función que se ejecutará cuando se utilice dicho código.

Por ejemplo, creamos códigos cortos. [display_greeting]Puede mostrar diferentes saludos en función del tiempo, y opcionalmente puede recibir un… (El texto se interrumpe aquí; no se proporciona la información completa). name Parámetros.

// 注册自定义短代码
add_shortcode( 'display_greeting', 'myplugin_render_greeting_shortcode' );
function myplugin_render_greeting_shortcode( $atts ) {
    // 设置默认属性值
    $attributes = shortcode_atts(
        array(
            'name' =&gt; '访客',
        ),
        $atts,
        'display_greeting'
    );

    // 获取当前小时
    $hour = date( 'H' );
    $greeting = '';

    if ( $hour &lt; 12 ) {
        $greeting = &#039;早上好&#039;;
    } elseif ( $hour &lt; 18 ) {
        $greeting = &#039;下午好&#039;;
    } else {
        $greeting = &#039;晚上好&#039;;
    }

    // 构建输出
    $output = sprintf(
        &#039;<div class="myplugin-greeting"><p><strong>%s, %s!</strong> Bienvenido a nuestro sitio web.</p></div>',
        esc_html( $greeting ),
        esc_html( $attributes['name'] )
    );

    return $output;
}

Los usuarios ahora pueden ingresar texto en el editor. [display_greeting name="张三"]Durante la renderización de la página, este texto será reemplazado por un saludo personalizado.

resúmenes

El desarrollo de plugins para WordPress es un proceso potente y flexible, cuyo secreto radica en comprender y utilizar el sistema de ganchos (hooks) y la API central del sistema. Comenzando por crear un archivo PHP con un encabezado estándar, se pueden expandir las funcionalidades a través de ganchos de acciones (actions) y filtros (filters), se puede crear una interfaz de configuración amigable para el usuario utilizando la API de configuraciones, y también se pueden proporcionar códigos cortos (shortcodes) que faciliten el uso. De esta manera, se construye un plugin que cuenta con una estructura básica y módulos de funcionalidades comunes. Al combinar estos módulos básicos, profundizar su funcionalidad y seguir los estándares de codificación de WordPress, así como las mejores prácticas de seguridad, se podrá crear plugins poderosos que satisfagan una amplia gama de necesidades.

FAQ Preguntas más frecuentes

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

Es necesario que cuente con conocimientos básicos del lenguaje de programación PHP, ya que los plugins están escritos principalmente en este idioma. Además, tener un entendimiento básico de HTML, CSS y JavaScript le ayudará a crear interfaces de usuario y funciones interactivas. Lo más importante es estar familiarizado con los conceptos fundamentales de WordPress, como los ganchos (Hooks), el ciclo principal (The Loop) y la estructura jerárquica de los templates.

¿Cómo depurar un plugin de WordPress que se está desarrollando?

Se recomienda activar el modo de depuración de WordPress en el entorno de desarrollo local. wp-config.php En el documento, se indicará que... WP_DEBUG Los constantes se establecen en trueTambién puede instalar complementos de monitoreo de consultas (como Query Monitor) para seguir el rastro de las consultas a la base de datos, la ejecución de los ganchos y la carga de scripts, lo cual es de gran ayuda para la optimización del rendimiento y la verificación de la lógica.

¿Cómo puedo hacer que mi plugin soporte la internacionalización?

WordPress utiliza el framework GNU gettext para su internacionalización. Para definirlo, debe hacerlo en la parte superior del archivo principal de su plugin. Text Domain Y Domain PathEn el código, se utiliza… __()_e() Las funciones como `str_replace` envuelven todas las cadenas de texto que necesitan ser traducidas. Luego, se utilizan herramientas como Poedit para generar la traducción. .pot Archivos de plantilla, para que los traductores los utilicen para crear traducciones. .po Y .mo Documentos.

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

En primer lugar, necesitará crear una cuenta en WordPress.org y enviar el plugin allí. Su código debe cumplir con los estándares de codificación de WordPress y no debe contener ningún código encriptado o obstruido. El directorio del plugin, el archivo principal, las capturas de pantalla y el archivo README deben seguir una estructura específica. El equipo de revisión verificará la calidad del código, su seguridad y el acuerdo de licencia (que debe ser compatible con GPL).