Contents
Cómo desarrollar tu primer plugin de WordPress
Crear un plugin en WordPress te brinda la flexibilidad de extender la potencia de tu sitio sin modificar el núcleo. En este artículo detallado aprenderás desde los conceptos básicos hasta las mejores prácticas para publicar tu primer plugin.
Índice
- Requisitos previos
- Estructura de archivos
- Archivo principal y cabecera del plugin
- Hooks de activación y desactivación
- Añadiendo funcionalidades
- Páginas de administración
- Shortcodes y bloques
- Encolando scripts y estilos
- Internacionalización y localización
- Seguridad y buenas prácticas
- Depuración y pruebas
- Publicación en el repositorio
1. Requisitos previos
- PHP 7.4 – Conocimiento básico de PHP.
- WordPress instalado – Recomendado en entorno local (XAMPP, Local by Flywheel).
- Editor de código – VSCode, PhpStorm o similar.
- Conceptos de hooks y actions – fundamentales en la API de WordPress.
2. Estructura de archivos
La organización de carpetas de tu plugin influye directamente en su mantenibilidad. Un esquema típico:
Directorio/Archivo | Descripción |
---|---|
my-first-plugin/ | Carpeta raíz del plugin |
nbspnbspmy-first-plugin.php | Archivo principal |
nbspnbsp/includes/ | Clases y funciones auxiliares |
nbspnbsp/assets/ | JS, CSS e imágenes |
3. Archivo principal y cabecera del plugin
Dentro de my-first-plugin.php colocamos la cabecera que interpreta WordPress:
Esta sección permite a WP reconocer e instalar tu plugin desde el panel.
4. Hooks de activación y desactivación
Implementar funciones que se ejecuten al activar/desactivar tu plugin:
register_activation_hook(__FILE__, mfp_plugin_activar)
function mfp_plugin_activar() {
// Ej: crear tabla en base de datos
}
register_deactivation_hook(__FILE__, mfp_plugin_desactivar)
function mfp_plugin_desactivar() {
// Ej: limpiar opciones
}
5. Añadiendo funcionalidades
Utiliza actions y filters. Ejemplo: agregar mensaje en el pie de página.
add_action(wp_footer, mfp_mensaje_footer)
function mfp_mensaje_footer() {
echo ltp style=text-align:centercolor:#777font-size:14pxgtDesarrollado con hearts por Tu Nombrelt/pgt
}
6. Páginas de administración
Para añadir un menú en el panel de WP:
add_action(admin_menu, mfp_crear_menu)
function mfp_crear_menu() {
add_menu_page(
Mi Plugin, // Título de la página
Mi Plugin, // Texto del menú
manage_options, // Capacidad requerida
mfp-settings, // Slug
mfp_pagina, // Función callback
dashicons-admin-generic, // Icono
100 // Posición
)
}
function mfp_pagina() {
echo ltdiv class=wrapgtlth2gtConfiguración de Mi Pluginlt/h2gt
// Formularios y opciones
echo lt/divgt
}
7. Shortcodes y bloques
Ejemplo de shortcode que muestra la fecha actual:
add_shortcode(mfp_fecha, mfp_mostrar_fecha)
function mfp_mostrar_fecha() {
return date_i18n(get_option(date_format))
}
Para crear bloques de Gutenberg consulta la guía oficial: Block Editor Handbook.
8. Encolando scripts y estilos
Usa wp_enqueue_script y wp_enqueue_style para cargar archivos:
add_action(wp_enqueue_scripts, mfp_cargar_assets)
function mfp_cargar_assets() {
wp_enqueue_style(mfp-estilos, plugin_dir_url(__FILE__).assets/css/style.css, array(), 1.0.0)
wp_enqueue_script(mfp-script, plugin_dir_url(__FILE__).assets/js/script.js, array(jquery), 1.0.0, true)
}
9. Internacionalización y localización
Prepara tu plugin para traducir textos:
- Envuelve cadenas con
__()
o_e()
. - Carga el dominio de texto:
add_action(plugins_loaded, mfp_textdomain)
function mfp_textdomain() {
load_plugin_textdomain(mfp-domain, false, dirname(plugin_basename(__FILE__))./languages/)
}
10. Seguridad y buenas prácticas
- Validar y sanitizar entradas con
sanitize_text_field()
,wp_kses_post()
, etc. - Verificar nonce antes de procesar formularios (
check_admin_referer()
). - Capacidades: usar
current_user_can()
. - Escapar salidas con
esc_html()
,esc_url()
.
11. Depuración y pruebas
Activa WP_DEBUG en wp-config.php
y utiliza error_log()
o herramientas como Query Monitor. Realiza tests en diferentes versiones de PHP y WP.
12. Publicación en el repositorio
Para subir tu plugin al WordPress Plugin Directory sigue:
- Crea una readme.txt con el formato estándar: Guía readme.txt.
- Regístrate en WordPress.org y envía tu plugin.
- Usa Subversion (SVN) para subir el código.
Conclusión
Desarrollar tu primer plugin puede parecer abrumador, pero siguiendo una estructura clara y aplicando buenas prácticas, lograrás un código mantenible y seguro. Para profundizar, consulta la documentación oficial de WordPress:
¡Manos a la obra y disfruta extendiendo WordPress a tu medida!
|
Acepto donaciones de BAT's mediante el navegador Brave 🙂 |