Tiempo de lectura aprox: 2 minutos, 42 segundos
Cómo hacer un plugin en WordPress
Como ya comenté en Mantenimiento Repetitivo, te contaré aquí cómo hacer un plugin en WordPress.
Salvando las distancias, un plugin en WordPress es como una aplicación para un sistema operativo. Ambos son trozos de código, en este caso en lenguaje php, que realizan una labor dentro del entorno del sistema que los contiene.
En ambos casos, para que sea posible «instalar» ese código dentro del sistema, se han de cumplir unas reglas y requisitos.
Los requisitos para un plugin en WordPress son de fácil cumplimiento, pero conviene conocerlos para que las cosas estén correctamente hechas y podamos aprovechar todas las ventajas que el sistema del entorno nos ofrece.
En este artículo te contaré lo mínimo que necesitas para crear un plugin «que funciona»; en otro artículo te contaré las cosas que deberías hacer si quieres hacer un «plugin profesional».
Cómo hacer un plugin en WordPress
Según la estructura de WordPress, un plugin debe estar situado en un lugar determinado, el directorio llamado plugins, así que empezaremos por crear un sub directorio, donde estará situado nuestro código.
Hemos llamado plugin1 a nuestro plugin de ejemplo, pero el nombre puede ser cualquiera, lo importante es que esté situado bajo la carpeta adecuada.
la estructura que ha de tener este subdirectorio, dependerá de su propósito y de lo complicado que sea, así como de las costumbres de cada programador, pero lo único que necesitamos en este directorio, en nuestro caso, será un archivo que llamaremos plugin1.php
El archivo que contiene el código de nuestro plugin, sin embargo, si que necesita tener una estructura determinada.
La primera parte del archivo, ha de tener una cabecera informativa, que es la que WordPress usa para identificar el plugin, así que las primeras líneas de código del archivo serán:
<?php /* Plugin Name: El nombre que demos al plugin Plugin URI: Tu pagina web o la del creador Description: Descripción breve del propósito del plugin Version: 0.1 (El numero de versión que corresponda) Author: Tu nombre Author URI: Tu página web (un poco de publicidad) License: Lo que corresponda, sugiero: GPLv2 o posterior . Cualquier otra nota o explicación acerca del plugin . */ ?>
Ten en cuenta que el cierre de php no es necesario (la última línea)
Con este contenido, ya es válido para que el plugin sea reconocido por WordPress y lo verás en la lista de plugins si vas al menú Plugins -> Plugins instalados.
Claramente, este plugin no hace nada, aunque si queremos, podemos activarlo.
Para que el plugin haga algo, debe tener contenido, vamos a agregar el contenido que usamos como ejemplo en el artículo «Mantenimiento repetitivo».
Esto lo hacemos situando el código después del comentario y antes de la línea de cierre de php que, insisto NO es necesaria.
//Optimize Database function optimize_database(){ global $wpdb; $all_tables = $wpdb->get_results('SHOW TABLES',ARRAY_A); foreach ($all_tables as $tables){ $table = array_values($tables); $wpdb->query("OPTIMIZE TABLE ".$table[0]); } } function simple_optimization_cron_on(){ wp_schedule_event(time(), 'daily', 'optimize_database'); } function simple_optimization_cron_off(){ wp_clear_scheduled_hook('optimize_database'); } register_activation_hook(__FILE__,'simple_optimization_cron_on'); register_deactivation_hook(__FILE__,'simple_optimization_cron_off');
Así el contenido completo del archivo plugin1.php será:
<?php /* Plugin Name: El nombre que demos al plugin Plugin URI: Tu pagina web o la del creador Description: Descripción breve del propósito del plugin Version: 0.1 (El numero de versión que corresponda) Author: Tu nombre Author URI: Tu página web (un poco de publicidad) License: Lo que corresponda, sugiero: GPLv2 o posterior . Cualquier otra nota o explicación acerca del plugin . */ //Optimize Database function optimize_database(){ global $wpdb; $all_tables = $wpdb->get_results('SHOW TABLES',ARRAY_A); foreach ($all_tables as $tables){ $table = array_values($tables); $wpdb->query("OPTIMIZE TABLE ".$table[0]); } } function simple_optimization_cron_on(){ wp_schedule_event(time(), 'daily', 'optimize_database'); } function simple_optimization_cron_off(){ wp_clear_scheduled_hook('optimize_database'); } register_activation_hook(__FILE__,'simple_optimization_cron_on'); register_deactivation_hook(__FILE__,'simple_optimization_cron_off'); ?>
Ahora podemos activar nuestro plugin, que realizará su cometido al igual que cualquier otro.
¿Y qué pasa si hay un error?
Si al crear tu plugin has cometido un error de sintaxis o de programación, no te preocupes, no romperás WordPress, el sistema es lo suficientemente inteligente como para detectar la mayoría de errores e ignorar el plugin, indicándolo con un mensaje de error.
Pero no te confíes, los problemas aparecen (como con cualquier aplicación informática) cuando la aplicación no contiene errores de sintaxis ni de estructura, pero no hace lo que pensamos que debería hacer.
La mayoría de las veces, los errores informáticos no significan que el programa no hace lo que le hemos dicho, el programa hace «exactamente» lo que le hemos dicho, que a veces, no es lo que esperamos que haga.
¡Gracias por leernos!
¡Tus comentarios y preguntas nos ayudan a mejorar, por favor comenta!