Guía definitiva para el desarrollo de complementos de WordPress: crea tu primer complemento personalizado desde cero.

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

¿Por qué elegir el desarrollo de plugins para WordPress?

WordPress se ha convertido en el sistema de gestión de contenidos más popular del mundo gracias a su gran capacidad de expansión, que se debe principalmente a su arquitectura de plugins. Mediante el desarrollo de plugins personalizados, puede agregar cualquier funcionalidad que se le ocurra a su sitio web sin modificar el código central de WordPress. Esto significa que su funcionalidad puede existir de forma independiente del tema y seguirá funcionando perfectamente después de cambiar el tema. Lo que es más importante, un plugin excelente puede resolver los problemas de un usuario específico e incluso convertirse en un producto o servicio independiente.

Dominar el desarrollo de plugins significa pasar de ser usuario de WordPress a creador. Ya sea para satisfacer las necesidades de personalización de tu propio proyecto o con la intención de generar ingresos mediante el desarrollo de plugins comerciales, comprender los principios básicos y las mejores prácticas del desarrollo de plugins es el primer paso indispensable. Esta guía te guiará desde la estructura más básica hasta la construcción de un plugin completo y que cumpla con los estándares.

Construye tu primera estructura de complemento.

Un plugin estándar de WordPress es una carpeta que contiene uno o más archivos PHP, y su directorio raíz debe incluir un archivo principal. Este archivo principal debe contener información específica de la cabecera del plugin, para que WordPress pueda identificarlo y administrarlo.

Lecturas recomendadas Aprenda a desarrollar complementos de WordPress: cree módulos de funciones personalizadas y eficientes desde cero.

Crear el archivo principal del plugin

Lo primero que necesitas hacer es crear el archivo principal del complemento. Este archivo suele llevar el nombre del complemento, por ejemplo, my-first-plugin.phpEn la parte superior de este archivo, debes agregar un comentario de encabezado de plugin estándar.

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://yourwebsite.com/my-first-plugin
 * Description:       这是一个用于学习的 WordPress 自定义插件示例。
 * Version:           1.0.0
 * Author:            你的名字
 * Author URI:        https://yourwebsite.com
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 * Domain Path:       /languages
 */

Esta anotación es la “tarjeta de identidad” del complemento. En ella, se indica lo siguiente: Plugin NameEl nombre del plugin es el único campo obligatorio; los demás campos sirven para proporcionar más información. La página de “Plugins” en el panel de administración de WordPress leerá esta información y la mostrará. Después de crear este archivo, deberás colocarlo en el directorio de instalación de WordPress. /wp-content/plugins/ En la carpeta. Puedes crear directamente una subcarpeta llamada “my-first-plugin” y luego colocar el archivo principal en ella. Ahora, al iniciar sesión en el panel de administración de WordPress, podrás verlo y activarlo en la lista de plugins. Aunque ahora no tiene ninguna función, ya has dado el primer paso para el éxito.

Organiza tus archivos de complementos.

A medida que aumentan las funciones, escribir todo el código en un archivo principal puede volverse difícil de mantener. Una buena organización de los archivos es fundamental. Un complemento típico puede incluir los siguientes directorios:
* /includes/: Almacena los archivos de definición de funciones y clases principales.
* /admin/: Almacena los archivos relacionados con la interfaz de administración de back-end.
* /public/: Almacena los archivos de las funciones front-end dirigidas a los visitantes del sitio web.
* /assets/Almacenar recursos estáticos como JavaScript, CSS e imágenes.
* /languages/: Almacenar archivos de traducción internacionales (.po/.mo).

Esta estructura modular no solo hace que el código sea claro, sino que también facilita la colaboración en equipo y la expansión de funciones posteriores. En el archivo principal, my-first-plugin.php En chino, normalmente usarías require_once Para introducir los archivos de funciones en estos directorios.

Comprender los conceptos básicos de desarrollo de WordPress: ganchos y filtros.

El núcleo del desarrollo de plugins de WordPress es el mecanismo de “ganchos” (Hooks). Permite que tu código se “integre” en el proceso de ejecución central de WordPress en un momento determinado, con el fin de modificar o agregar funcionalidades. Los ganchos se dividen en dos categorías: acciones y filtros.

Lecturas recomendadas Domina el desarrollo de plugins de WordPress desde cero: guía para implementar funciones avanzadas y mejores prácticas.

Usar ganchos de acción para agregar funcionalidades.

Los ganchos de acción te permiten ejecutar tus funciones personalizadas en un momento específico en el que se ejecuta WordPress. Por ejemplo, si quieres ejecutar una acción cuando se publica un artículo o agregar un menú a la barra lateral del área de administración.

A continuación, se muestra un ejemplo sencillo que utiliza wp_footer Este gancho de acción muestra un mensaje en la zona común del pie de página del sitio web. Deberás añadir el siguiente código al archivo principal de tu complemento.

function myplugin_add_footer_text() {
    echo '<p style="text-align:center;">¡Gracias por usar mi primer plugin!</p>';
}
add_action( 'wp_footer', 'myplugin_add_footer_text' );

Aquí,myplugin_add_footer_text Es la función que definimos.add_action() La función “vincula” esta otra función a… wp_footer Esto se hace mediante un hook de acción. Cuando WordPress llega a la parte del pie de página, invoca automáticamente nuestra función.

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 el contenido utilizando los ganchos de los filtros.

A diferencia de los ganchos de acción, los ganchos de filtro se utilizan para modificar los datos. Tu función recibirá un valor de entrada y, después de procesarlo, deberá devolver un valor. Por ejemplo, modificar el título de un artículo, cambiar la forma en que se muestra el contenido, etc.

El siguiente ejemplo muestra cómo usar the_content El filtro agrega automáticamente un fragmento de texto personalizado al final de todos los artículos y contenidos de las páginas.

function myplugin_append_to_content( $content ) {
    $custom_text = '<div class="myplugin-note"><p><em>Este artículo ha sido mejorado en su visualización por mi complemento personalizado.</em></p></div>';
    // 仅在主循环的单篇文章页面添加
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        return $content . $custom_text;
    }
    return $content;
}
add_filter( 'the_content', 'myplugin_append_to_content' );

función myplugin_append_to_content Recibir el original. $contentNos aseguramos de agregar texto solo donde sea necesario mediante una condición, y luego devolvemos el contenido modificado.add_filter() La función ha completado el proceso de registro.

Lecturas recomendadas Desde el nivel principiante hasta el avanzado, desarrollo de complementos de WordPress: creación de funciones personalizadas y extensión eficiente

Crear una página de administración para el complemento

La mayoría de los complementos necesitan una página de configuración que permita a los usuarios establecer opciones. WordPress ofrece una API completa para crear interfaces de administración atractivas y estándar.

Añadir menú de administración de nivel superior

Puedes agregar una nueva entrada de menú principal a la barra de navegación de la parte izquierda del panel de administración de WordPress para tu plugin. Esto se hace a través de add_menu_page() Esto se logra mediante funciones. Por lo general, lo hacemos en admin_menu Esta función se invoca en el hook de acción.

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.
function myplugin_add_admin_menu() {
    add_menu_page(
        '我的插件设置', // 页面标签
        '我的插件',     // 菜单标题
        'manage_options', // 所需权限
        'myplugin-settings', // 菜单 Slug
        'myplugin_settings_page_html', // 显示页面内容的回调函数
        'dashicons-admin-generic', // 图标(可选)
        80 // 菜单位置(可选)
    );
}
add_action( 'admin_menu', 'myplugin_add_admin_menu' );

\nConstruir el contenido de la página de configuración.

Ahora necesitamos definir la función de devolución de llamada mencionada anteriormente. myplugin_settings_page_htmlPara renderizar el contenido HTML de la página de configuración. Una versión simple es la siguiente:

function myplugin_settings_page_html() {
    // 检查用户权限
    if ( ! current_user_can( 'manage_options' ) ) {
        return;
    }
    ?&gt;
    <div class="wrap">
        <h1>¿¿¿¿php echo esc_html( get_admin_page_title() ); ?&gt;</h1>
        <form action="/es/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            // 输出设置字段和非ce字段
            settings_fields( 'myplugin_options' );
            do_settings_sections( 'myplugin-settings' );
            submit_button( '保存设置' );
            ?>
        <input type="hidden" name="trp-form-language" value="es"/></form>
    </div>
    ¿php?  
}

Esta función crea un formulario que cumple con el estilo del backend de WordPress. Para procesar las configuraciones de manera completa, también es necesario utilizar… register_setting(), add_settings_section() Y add_settings_field() Se utilizan funciones como set_site_option() y get_site_option() para definir opciones de configuración específicas, lo que constituye el flujo de trabajo completo de la “API de configuración” y es la forma recomendada de almacenar y recuperar opciones de complementos de forma segura.

Implementar una función de complemento real: estadísticas de las veces que se ha visto un artículo

Vamos a combinar los conceptos anteriores para crear una función práctica: contar y mostrar el número de visitas de cada artículo.

Crear campos de base de datos y almacenar datos.

En primer lugar, necesitamos crear un lugar para almacenar las visitas cuando se publica un artículo. Por lo general, utilizamos la función de metadatos de publicación de WordPress. Podemos usar add_post_meta Existen funciones para ello, pero una forma más elegante es verificar y actualizar ese valor cuando el artículo se visualiza.

function myplugin_track_post_views( $post_id ) {
    if ( ! is_single() ) {
        return;
    }
    if ( empty( $post_id ) ) {
        global $post;
        $post_id = $post->ID;
    }
    // 获取当前浏览次数
    $count = get_post_meta( $post_id, 'myplugin_post_views', true );
    // 如果为空,初始化为0
    $count = $count ? absint( $count ) : 0;
    $count++;
    // 更新数据库
    update_post_meta( $post_id, 'myplugin_post_views', $count );
}
// 在模板重定向时触发,确保只对真实访客计数
add_action( 'template_redirect', 'myplugin_track_post_views' );

Mostrar el número de visitas en la parte frontal.

Después de almacenar los datos, necesitamos una función para recuperarlos y mostrarlos. Podemos crear un código corto que permita a los usuarios insertarlo en el contenido del artículo o en los widgets de la barra lateral.

La función myplugin_display_post_views_shortcode( $atts ) {
    $atts = shortcode_atts( array(
        'id' =&gt; get_the_ID(),
    ), $atts, 'myplugin_views' );

$post_id = absint( $atts['id'] );
    $views = get_post_meta( $post_id, 'myplugin_post_views', true );
    $views = $views ? $views : 0;

return '<span class="myplugin-view-count">Número de visitas: ' . esc_html( $views ) . '</span>'php
add_shortcode('myplugin_views', 'myplugin_display_post_views_shortcode');

Ahora, los usuarios solo tienen que introducir el código abreviado en el editor de artículos. [myplugin_views]O bien, puede agregar una herramienta de “código corto” y escribir este código corto para mostrar el número de visitas del artículo en la página. Este ejemplo completo cubre todo el proceso de almacenamiento de datos (gancho), recuperación de datos y visualización en el front-end (código corto).

resúmenes

A través de esta guía, ha completado todo el proceso de crear un complemento personalizado de WordPress desde cero. Primero, aprendimos la estructura básica de un complemento y creamos un archivo principal que contiene información de encabezado estándar. Luego, profundizamos en los fundamentos del desarrollo de complementos de WordPress: los ganchos (acciones y filtros) y aprendimos cómo usarlos para insertar o modificar funciones. A continuación, creamos una página de administración profesional para el complemento, que es fundamental para la interacción con los usuarios. Finalmente, pusimos en práctica la teoría con un caso práctico de “Estadísticas de vistas de artículos”, logrando una cadena completa de funciones, desde el registro de datos hasta la visualización en el frontend.

Recuerde que el desarrollo de un buen plugin no solo consiste en hacer que la función funcione, sino que también debe prestar atención a la seguridad del código, la capacidad de mantenimiento, el rendimiento y el cumplimiento de los estándares de codificación de WordPress. Practicando constantemente y explorando más la API de WordPress, podrá crear plugins potentes y populares entre los usuarios.

FAQ Preguntas más frecuentes

¿Qué conocimientos previos se necesitan para desarrollar un complemento?

Necesitas tener una base sólida en programación PHP, ya que WordPress y sus complementos están escritos principalmente en PHP. Al mismo tiempo, es fundamental que tengas conocimientos básicos de HTML, CSS y JavaScript, lo que te ayudará a crear interfaces de usuario y funciones interactivas. Conocer algunos conceptos básicos de la base de datos MySQL también te ayudará a comprender cómo se almacenan los datos en WordPress.

¿Cómo depuro mi plugin para WordPress?

Primero, asegúrate de que en tu… wp-config.php Activa el modo de depuración de WordPress en el archivo. WP_DEBUG Los constantes se establecen en trueEsto mostrará los errores y advertencias de PHP en la pantalla. En segundo lugar, use error_log() La función escribe la información de depuración en el registro de errores del servidor, lo que constituye una forma muy confiable de depurar. Para variables complejas, se puede usar en combinación con otras herramientas. print_r() o var_dump() Con error_log()Además, use las herramientas para desarrolladores del navegador (F12) para depurar los problemas de JavaScript y CSS del frontend.

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

Durante el desarrollo, se debe consultar regularmente el manual de desarrollo oficial de WordPress para conocer los cambios en las funciones y ganchos de las diferentes versiones. Utilice function_exists() o version_compare() Utilice sentencias condicionales para comprobar si una función o característica está disponible, y así ofrecer una solución alternativa compatible con versiones anteriores. Indique claramente en la descripción del complemento el rango de versiones de WordPress compatibles. Probar en entornos de prueba de múltiples versiones de WordPress es la mejor práctica para garantizar la compatibilidad.

¿Qué se debe tener en cuenta al desarrollar plugins comerciales?

Al desarrollar complementos comerciales, la seguridad, la calidad del código y la experiencia del usuario deben ser prioritarios. Necesitas implementar un sistema de validación de licencias confiable y seguro (por ejemplo, usando claves de licencia). Es fundamental proporcionar documentación clara y oportuna para el usuario, así como soporte técnico. Asegúrate de cumplir con las directrices oficiales de desarrollo de complementos de WordPress y el acuerdo de licencia GPL. Considera usar plataformas profesionales como Freemius o Easy Digital Downloads para gestionar las ventas, los envíos de actualizaciones y los tickets de soporte.