WordPress, como el sistema de gestión de contenidos más popular a nivel mundial, debe su gran capacidad de expansión principalmente a los plugins. Al desarrollar plugins, puedes agregar cualquier función personalizada a tu sitio web sin necesidad de modificar el código central. Esta guía te guiará a través de todo el proceso de creación de tu primer plugin funcional, abarcando cada paso clave, desde la preparación del entorno, la escritura del código hasta la publicación y prueba del mismo.
Preparación y configuración del entorno.
Antes de escribir la primera línea de código, necesitas un entorno de desarrollo adecuado. Esto no solo mejora la eficiencia, sino que también evita los riesgos que pueden surgir al depurar en un sitio web real.
Establecer un entorno de desarrollo local
Se recomienda utilizar paquetes de software para servidores locales, como XAMPP, MAMP o Laragon. Estos permiten instalar Apache, MySQL y PHP con un solo clic, simulando de manera idónea un entorno en línea. Asegúrese de que la versión de PHP sea compatible con la versión de WordPress a la que se va a instalar; generalmente, el sitio web oficial de WordPress proporciona las requisitos de versión más actualizados.
Lecturas recomendadas Guía completa para el desarrollo de plugins para WordPress: Crea tu primer plugin funcional desde cero。
Instalar WordPress y un editor de código
Instale un sitio web nuevo de WordPress en su servidor local para el desarrollo y prueba de plugins. Además, elija un editor de código potente, como Visual Studio Code o PhpStorm. Estos editores ofrecen una excelente visualización del lenguaje PHP, sugerencias de código y funciones de depuración, lo que mejora significativamente la experiencia de programación.
Crea tu primer archivo de plugin.
Un plugin básico de WordPress puede estar compuesto por un solo archivo. Comenzaremos con un plugin sencillo que muestra el mensaje “Hello World” para entender la estructura de los plugins.
Estructura del archivo principal del plugin
Primero, en WordPress… wp-content/plugins En el directorio, cree una nueva carpeta, por ejemplo… my-first-pluginDentro de esa carpeta, cree el archivo principal del plugin, que suele llevar el mismo nombre que el plugin, por ejemplo: my-first-plugin.php。
Cada plugin debe contener una anotación con información específica sobre el mismo en la parte superior del archivo; esta anotación es clave para que WordPress pueda reconocer el plugin. A continuación, se muestra un ejemplo básico:
<?php
/**
* Plugin Name: 我的第一个插件
* Plugin URI: https://example.com/my-first-plugin
* Description: 这是一个用于学习的简单功能插件。
* Version: 1.0.0
* Author: 你的名字
* License: GPL v2 or later
* Text Domain: my-first-plugin
*/ Después de guardar el archivo, accede a la página de “Plugins” en el panel de administración de WordPress y allí verás este plugin, pudiendo activarlo. Aunque por el momento no tiene ninguna función, has creado con éxito un marco de trabajo para un plugin que cumple con los requisitos establecidos.
Lecturas recomendadas Te enseñaremos paso a paso a dominar el desarrollo de plugins para WordPress, desde cero.。
Agregar funciones básicas al plugin.
Después de activar el plugin, añadámosle una función sencilla: agregar una línea de texto personalizado en el pie de página del sitio web. Para ello, utilizaremos las funcionalidades disponibles en WordPress. wp_footer Gancho.
Debajo de las notas de información del plugin, añada el siguiente código:
// 在网站页脚输出自定义文本
function myfp_add_footer_text() {
echo '<p style="text-align: center;">¡Gracias por usar mi primer plugin!</p>';
}
add_action( 'wp_footer', 'myfp_add_footer_text' ); Guarda el archivo y actualiza la parte frontal del sitio web; verás este texto centrado en la parte inferior de la página. Este ejemplo demuestra cómo utilizarlo. add_action() La función “monta” tu función personalizada en los puntos de ejecución centrales de WordPress.
Implementar una función de gestión práctica.
Un complemento (plugin) completo suele necesitar una interfaz de configuración en el panel de administración de WordPress. A continuación, agregaremos una página de configuración sencilla al complemento que permitirá a los administradores personalizar el texto que se muestra en el pie de página.
Crear la página del menú de administración
Necesitamos agregar una página de menú secundario en el menú de “Configuraciones” del backend. Para ello, será necesario utilizar… add_options_page() Función.
Primero, crea una función para renderizar el contenido HTML de la página de configuración y luego monta (es decir, inserta) ese contenido en la página correspondiente. admin_menu En el gancho.
Lecturas recomendadas Comenzando desde cero: ¿por qué elegir el desarrollo de plugins para WordPress?。
// 添加插件设置页面到后台菜单
function myfp_add_admin_menu() {
add_options_page(
'我的插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 权限(管理员)
'my-first-plugin', // 菜单slug
'myfp_settings_page' // 用于输出页面内容的回调函数
);
}
add_action( 'admin_menu', 'myfp_add_admin_menu' );
// 设置页面的HTML内容
function myfp_settings_page() {
?>
<div class="wrap">
<h1>La configuración de mi primer complemento</h1>
<form method="post" action="/es/options.php/" data-trp-original-action="options.php">
<?php
settings_fields( 'myfp_settings_group' ); // 设置字段组
do_settings_sections( 'my-first-plugin' ); // 设置区域
submit_button(); // 提交按钮
?>
<input type="hidden" name="trp-form-language" value="es"/></form>
</div>
¿php?
} Configuraciones de registro, campos y almacenamiento de datos
No basta con tener una página; también necesitamos utilizar la API de WordPress para registrar, verificar y guardar opciones de manera segura. Esto implica el uso de tres funciones clave:register_setting(), add_settings_section() Y add_settings_field()。
// 初始化插件设置
function myfp_settings_init() {
// 注册一个新的设置项到数据库的 `wp_options` 表
register_setting( 'myfp_settings_group', 'myfp_footer_text' );
// 在设置页面添加一个区域
add_settings_section(
'myfp_section',
'页脚文字设置',
null, // 区域描述回调函数,这里不需要
'my-first-plugin'
);
// 在刚添加的区域里创建一个字段
add_settings_field(
'myfp_field_footer',
'显示的文本',
'myfp_field_footer_cb', // 用于输出字段HTML的回调函数
'my-first-plugin',
'myfp_section'
);
}
add_action( 'admin_init', 'myfp_settings_init' );
// 渲染文本输入字段的回调函数
function myfp_field_footer_cb() {
$text = get_option( 'myfp_footer_text', '感谢使用我的第一个插件!' ); // 获取已保存的值
echo '<input type="text" name="myfp_footer_text" value="' . esc_attr( $text ) . '" class="regular-text">';
echo '<p class="description">El texto que se ingrese aquí se mostrará en el pie de página del sitio web.</p>';
} Actualización de la función para utilizar los ajustes guardados.
Finalmente, modifiquemos lo que escribimos antes. myfp_add_footer_text Función que permite leer los valores configurados por el administrador desde la base de datos.
function myfp_add_footer_text() {
$footer_text = get_option( 'myfp_footer_text', '感谢使用我的第一个插件!' );
if ( ! empty( $footer_text ) ) {
echo '<p style="text-align: center;">'`. esc_html($footer_text).`'</p>';
}
}
add_action( 'wp_footer', 'myfp_add_footer_text' ); Ahora, accede al panel de administración de WordPress, ve a “Ajustes” -> “Mis plugins”, modifica el texto del pie de página y guarda los cambios. Actualiza la página web para que el contenido personalizado se visualice.
Seguridad, optimización y preparación para la publicación de complementos.
Un complemento (plugin) calificado debe tener en cuenta las mejores prácticas en materia de seguridad, rendimiento e internacionalización.
Implementar validación de datos y escape de caracteres.
Nunca confíes en los datos ingresados por los usuarios o en los datos que se obtienen directamente de la base de datos. En el ejemplo anterior, utilizamos… esc_attr() Para escapar los atributos en un campo de entrada, se utiliza el siguiente método: esc_html() Se debe realizar la salida con escape en el lado del frontend. Para escenarios más complejos, se debe utilizar… sanitize_text_field() Vamos a limpiar la entrada y usar… wp_kses_post() Permite la salida de HTML seguro.
Agregar soporte a la internacionalización.
Para que el complemento pueda ser utilizado por usuarios de todo el mundo, es necesario preparar las traducciones de todas las cadenas de texto dirigidas al usuario. Esto requiere el uso de herramientas específicas para la gestión de contenido multilingüe. __() Y _e() Funciones como estas, y también la declaración del campo de texto.
Actualiza las notas en la parte superior del complemento para asegurarte de que estén correctas. Text Domain Deberá asegurarse de que sea consistente con las llamadas posteriores. Luego, modifique las cadenas de texto en el código, por ejemplo:
// 在设置字段描述中使用国际化函数
echo '<p class="description">' . esc_html__( '这里输入的文字将显示在网站页脚。', 'my-first-plugin' ) . '</p>';
// 在输出函数中使用
$default_text = __( '感谢使用我的第一个插件!', 'my-first-plugin' );
$footer_text = get_option( 'myfp_footer_text', $default_text ); Después de eso, puedes utilizar herramientas como Poedit para crear lo que necesitas. .pot Archivo de plantilla para que lo creen los traductores .po Y .mo Traducir el documento.
Realizar las pruebas finales y el empaquetamiento.
Antes de publicar el plugin, es necesario probar sus funciones en diferentes entornos (como versiones distintas de PHP o versiones diferentes de WordPress). Asegúrate de que las operaciones de activación, desactivación, guardado de configuraciones y eliminación de datos no provoquen errores ni dejen datos redundantes. Puedes escribir una función de desinstalación y limpieza para que se encargue de esto. register_uninstall_hook() Opción para limpiar la base de datos cuando el usuario elimina un complemento (plugin).
Finalmente, compresa la carpeta de tus plugins en un archivo comprimido. .zip El archivo se puede instalar directamente a través de la función de “subir plugins” en la interfaz administrativa de WordPress, y también cumple con los requisitos de formato para ser enviado al directorio oficial de plugins de WordPress.
resúmenes
A través de esta guía, has completado todo el proceso de creación de un plugin para WordPress completamente funcional, desde cero. Has aprendido cómo crear los archivos básicos de un plugin, cómo agregar funcionalidades utilizando ganchos de acción (action hooks), cómo desarrollar interfaces de administración en el backend a través del API de configuración de WordPress, y has comprendido conceptos clave como seguridad, internacionalización y empaquetamiento del plugin. Aunque este simple plugin de texto de pie de página es bastante básico, la estructura del mismo, el mecanismo de ganchos y el API de configuración constituyen las bases para desarrollar cualquier plugin más complejo. A continuación, puedes explorar funciones más avanzadas como los códigos cortos (shortcodes), los tipos de artículos personalizados y los puntos de terminación de API REST, para mejorar gradualmente tus habilidades de desarrollo de plugins.
FAQ Preguntas más frecuentes
¿Es necesario dominar PHP para desarrollar plugins para WordPress?
Sí, PHP es el lenguaje de programación principal para el desarrollo de WordPress y sus plugins. Es necesario dominar la sintaxis básica de PHP, las funciones, los arrays y los conceptos de programación orientada a objetos. Además, conocer HTML, CSS y JavaScript básico es de gran ayuda para desarrollar plugins que incluyan interfaces de usuario.
¿Puedo elegir cualquier nombre para el archivo principal del plugin?
Sí, pero debe coincidir con el nombre del archivo PHP principal que se encuentra dentro de la carpeta de plugins. Por lo general, y para mayor claridad, el archivo principal tiene el mismo nombre que la carpeta de plugins o recibe un nombre similar. index.phpLo más importante es que la cabecera del archivo debe contener el bloque de comentarios con la información correcta sobre el plugin; es a través del análisis de este bloque de comentarios que WordPress identifica los plugins.
¿Por qué los cambios realizados en la configuración de mi plugin no se aplican después de guardarlos?
Por favor, sigue los siguientes pasos para realizar la diagnosis: primero, asegúrate de que los campos de configuración hayan sido validados correctamente. register_setting() Registrado correctamente, y… settings_fields() El nombre del grupo de configuraciones utilizado en la llamada a la función coincide con el nombre especificado. En segundo lugar, se debe verificar el contenido del formulario. action ¿Se refiere a si un atributo apunta (o señala) a algo en particular? options.phpPor último, al generar la salida en la parte frontal (frontend), asegúrate de que estés utilizando lo adecuado. get_option() La función se ejecuta y los nombres de las opciones proporcionadas coinciden exactamente con los que se registraron al crearla.
¿Cómo puedo hacer que mi plugin limpie los datos cuando se desactive?
Puedes usar register_uninstall_hook() Existe una función para registrar un gancho de desinstalación. Dentro de la función de devolución de llamada de este gancho, puedes utilizar… delete_option() Se proporciona una función para eliminar todas las opciones de base de datos creadas por el plugin. Tenga en cuenta que esta acción es irreversible y solo debe llevarse a cabo cuando el usuario elige explícitamente “eliminar” el plugin, y no cuando elige “Desactivar” el mismo.
¿Se pueden enviar plugins gratuitos al directorio oficial de WordPress?
Sí, WordPress oficialmente alienta a los desarrolladores a enviar plugins gratuitos que cumplan con los estándares a su catálogo de plugins. Para ello, es necesario que tengas una cuenta en WordPress.org y que leas atentamente las guías de envío de plugins. Tu código debe seguir ciertos estándares de codificación y no debe contener código malicioso ni infringir los requisitos de la licencia. Una vez que el plugin sea enviado con éxito, los usuarios podrán buscarlo e instalarlo directamente desde la interfaz administrativa de WordPress.
¿Qué sigue, qué sigue?
Lectura ampliada y conocimientos prácticos
Los siguientes están relacionados con el tema de este artículo y son adecuados para una lectura más profunda. A menudo es mejor priorizar empezando por el artículo que más se acerque a su problema actual y ampliando gradualmente a los temas circundantes.
- ¿Cómo elegir y personalizar el tema de WordPress perfecto para ti?
- Guía para el desarrollo de plugins para WordPress: Crea tu primer plugin personalizado desde cero
- Convertirse en desarrollador de plugins para WordPress: Una guía completa desde cero
- De cero a uno: Guía completa y consejos prácticos para construir sitios web profesionales con WordPress
- Guía completa para el desarrollo de plugins para WordPress: Desde los principios hasta la maestría para crear extensiones profesionales