Estructura básica de un plugin
Al contrario que los themes, los plugins no tienen una estructura fija. De hecho, ni siquiera necesitan estar en una carpeta, pero si queremos guardar un poco de orden deberíamos empaquetarlos en carpetas. Hay por la red muchas plantillas, y depende de cuan complejo sea el plugin que quieras crear, será menester utilizar una u otra. Aun así, cualquier plugin tiene en el que sea su archivo principal (aquí como ya hemos dicho no hay reglas estrictas y se puede llamar un poco como se quiera, aunque lo convencional es que se llame igual que la carpeta que lo contenga) y en ese archivo, ahí si, hay al principio un pedazo de código que es imprescindible para que wordpress pueda detectar la presencia de dicho plugin. Es algo así:
/*
Plugin Name: El nombre de mi plugin
Plugin URI: example.com/mi_super-plugins
Description: La descripción del plugin
Version: 1.1.0
Author: El nombre de autor
Author URI: La pagina del autor
*/
A continuación, se incluiría el código del plugin propiamente dicho.
Creado tus propios plugins
Tomemos como ejemplo el plugin Hello Dolly que viene por defecto con todas las instalaciones de wordpress.
Comienza con el código antes expuesto, donde se informa del nombre, creador… para a continuación declarar unas funciones, hello_dolly_get_lyric y hello_dolly , las cuales realizan x acción. Pero estas funciones así sin más no van a ejecutarse, necesitamos “engancharlas” a algún proceso de wordpress, a un hook. Estos pueden ser acciones o filtros, en este caso se trata de una acción, admin_notices , las notificaciones del panel de administración, de esta forma:
add_action( 'admin_notices', 'hello_dolly' );
La lista de acciones y filtros es bastante extensa y profundizar en ello nos llevaría a escribir un libro solamente acerca de este tema, por lo que mi recomendación es visitar el codex, la pagina de documentación y referencia oficial de wordpress, donde se puede consultar el uso y sintaxis del 99% de las funciones, hooks, parámetros y demás cuestiones técnicas.
plugin vs functions.php
Una pregunta recurrente a la hora de añadir o modificar funcionalidades a una página creada en wordpress es “y esto lo añado al theme (functions.php) o creo un plugin?”.
La respuesta no siempre es clara y dependerá de cada caso concreto. Para tener una guía, diría que si la funcionalidad es algo que solo se va a utilizar en ese theme y que si lo cambiamos no vamos a querer conservarla, entonces va colocado en functions.php , pero que si el algo que podemos querer emplear en otros sitios, o en el mismo aun a pesar de cambiar de theme, entonces será lo ideal crear un plugin. También es interesante incluir las funcionalidades en functions.php cuando estamos creando un theme donde la velocidad de carga sea la principal (o una de las principales) característica (los llamados de alto CTR), ya que al cargar menos plugins reduciremos el tiempo de carga.
Comentarios