junio 4, 2009 0

Creando un plugin para WordPress desde cero. Parte I.

By in PHP

Este es el comienzo de una serie indeterminada de artículos sobre como escribir un plugin para WordPress desde cero. Está basado en parte en la documentación que hay en WordPress sobre creación de plugins.

Empezando, que queremos hacer

Lo primero que tenemos que pensar es que va a hacer nuestro plugin. En este caso vamos a hacer un plugin que sustituya la descripción del blog en la cabecera por otra distinta. Algo sencillo pero que nos puede servir como introducción.

Una vez que sabemos lo que queremos (porque no estamos locos …)  es el momento de empezar a hincarle el diente al maravilloso mundo del desarrollo de plugins para WordPress.

Nombres y archivos

Ahora es el momento de elegir el nombre de nuestro plugin. Es importante que este sea único, para no confundirlo con otro. Para esto podemos comprobrar el repositorio de plugins de WordPress. Nosotros vamos a llamar a nuestro plugin “CambiaCabecera”. Ahora viene el momento de empezar a crear el archivo con el código de nuestro plugin. Podemos también crearlo en una carpeta con uno o más archivos con el código del plugin.

Si optamos por el método del directorio podremos incluir otros archivos que necesitemos, como pueden ser CSS, JavaScript, imágenes o el típico readme.txt.

De momento nos decantamos por el primer método, un unico archivo llamado “cambiacabecera.php”. ¿Y que contiene este archivo?

Cabecera del archivo

El comienzo de nuestro archivo será el siguiente:

<?php
/*
Plugin Name: Cambia Cabecera
Plugin URI: http:/uri.del.plugim/
Description: Plugin para cambiar la cabecera por una frase
Version: 0.0
Author: mjcarrascosa
Author URI: http://mjcarrascosa.com
*/
?>

Esta parte del comienzo contiene información sobre el plugin. La unica que es estrictamente necesaria es Plugin Name, que nos dice el nombre del plugin. Podéis incluir a continuación la licencia del plugin.

Programando el plugin

A continuación vamos con la parte gorda de este artículo. Vamos a crearnos una función que llamaremos CambiarCabecera_cambia que será la encargada de hacer el cambio. Esta función recibirá dos parámetros llamados value e info. Después de la función añadiremos una llamada a una función de la API de WordPress. Esta función es add_filter, que nos permite añadir un filtro (esto se explicará con más detenimiento en próximos artículos). El código de nuestro plugin quedaría de la siguiente forma:

<?php
/*
Plugin Name: Cambia Cabecera
Plugin URI: http:/uri.del.plugim/
Description: Plugin para cambiar la cabecera por una frase
Version: 0.0
Author: mjcarrascosa
Author URI: http://mjcarrascosa.com
*/

function CambiarCabecera_cambia($value, $info) {
   if($info == 'description')
      return 'Esta frase debe aparece en la cabecera como descripción.';
   else
      return $value;
}

add_filter('bloginfo', 'CambiarCabecera_cambia', 10, 2);
?>

Y ya tenemos nuestro primer plugin. La función add_filter nos permite añadir un filtro, para ello le tenemos que pasar el filtro que queremos usar, en nuestro caso ‘bloginfo’, y la función a la que se llamará al aplicar dicho filtro, CambiarCabecera_cambia es a la que tenemos que llamar nosotros. Le pasamos luego dos números, el primero es la prioridad y el segundo el número de parametros que recibe nuestra función que aplica el filtro (CambiarCabecera_cambia).

El filtro bloginfo se aplica cada vez que requerimos información del blog mediante la función bloginfo. Lo que hacemos en nuestra función CambiarCabecera_cambia es comprobar si la información solicitada ($info) es la descripción del blog (‘description’). Si es la descripción del blog devolvemos la nueva cadena y si no lo es devolvemos el valor que hubiera devuelto la llamada a bloginfo ($value).

En el proximo artículo veremos como añadirle una página de opciones a nuestro plugin.

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: , , , ,

Leave a Reply