En este post voy a intentar hacer de una forma amena y divertida, una especie de manual de como crear un plugin sencillo con una utilidad algo tonta 😀 Ya que la idea de crear un plugin es mucho más complicado que el hecho de hacerlo, puesto que para explicar el como tener una idea para ello necesitaría primero tenerla 😀 y últimanente ando falto de ellas (se admiten ideas).
¿Que queremos hacer?
Vamos a implementar un plugin para WordPress que modifique el texto de nuestros posts y que mediante el uso de una terminología a posta nos reemplaze nuestros enlaces por otros un poco cabroncetes con los usuario. Añadiremos la opcion onclick=»location.href=…» para hacer creer a los usuario que van a una página y al final las mandemos a otra 😀 No se si esto funcionará en todos los casos, o no funcionará nunca, pero como ejemplo es igual de válido que cualquier otro.
¿Que necesitamos?
- Un ordenador.
- Un editor de texto.
- Un poco de tiempo libre.
- Enlace a la página de WordPress Codex
- Enlace a la página de php.net
¿Que pasos seguimos?
El primer paso sin duda es encender el ordenador, y abrir el editor de texto. Una vez hecho esto vamos a copiar el siguiente contenido:
<?php
/*
Plugin Name: NOMBRE
Plugin URI: URL
Description: DESCRIPCION
Author: AUTOR
Version: VERSION
Author URI: URL
*/
?>
Con esto ya tenemos la cabecera del plugin, con él podremos hacer que nuestro wordpress detecte nuestro futuro plugin, solamente hemos de cambiar los valores en mayusculas por los que se acerquen más a tus necesidades y propositos.
Despues hemos de ir declarando las funciones que vamos usar en nuestro plugin, en nuestro caso necesitaremos una simple función.
function reemplaza ($content = '') {
return preg_replace('/<a(.*?)href="(.*?)"(.*?)href2="(.*?)"(.*?) \/>/i', '<a$1href="$2" onclick="location.href=$4;" $5 />', $content); }
Teniendo la función solo nos queda decidir donde vamos a hacer que se lanze, en nuestro caso vamos a hacer cuando muestre el texto del post, para ello es conveniente conocer los diferentes tipos de metodos de los que disponemos para realizar nuestra tarea.
WordPress, dispone de 2 métodos para añadir funcionalidades a nuestros blogs, uno de ellos son las acciones y se definen como los procesos principales que se realizan sin tratar información, como por ejemplo el init, que se refiere al inicio de carga del blog, o al publish_post, que como su nombre indica se aplicará al publicar un post.
El otro método es más extenso y se refiere a los que si procesan información y que se realizan en cada llamada a la página, son los filtros, con ellos puedes realizar cambios sobre la información que vas a mostrar por pantalla, de esa forma permite añadir etiquetas mediante el the_content o cambiar la URL de un troll a nuestra web con comment_url.
De esta forma wordpress, permite una personalización bastante amplia, aunque me he quedado sin recursos al intentar hacer algún plugin.
Nosotros para nuestro caso vamos usar el metodo de filtro para nuestro content, usaremos el filtro the_content y la llamada se realiza de la siguiente forma:
add_filter('the_content', 'reemplaza');
De esta forma le estamos diciendo a WordPress que cuando vaya a realizar el filtro the_content, haga una llamada a reemplaza.
El resultado final del fichero sería parecido a este.
<?php
/*
Plugin Name: NOMBRE
Plugin URI: URL
Description: DESCRIPCION
Author: AUTOR
Version: VERSION
Author URI: URL
*/
function reemplaza ($content = '') {
return preg_replace('/<a(.*?)href="(.*?)"(.*?)href2="(.*?)"(.*?) \/>/i', '<a$1href="$2" onclick="location.href=$4;" $5 />', $content);
}
add_action('the_content', 'reemplaza');
?>
Si tienes tiempo y ganas siempre es recomendable añadir comentarios y explicaciones de lo que hace cada función, te facilitará el trabajo de mantenimiento una burrada.
Para más información, como manipular las Bases de Datos desde nuestros plugins, o añadir opciones a nuestro menu administrador y tener en cuenta algo realmente importante, ser originales con el nombre de las funciones que luego tenemos problemas al usar dos plugins distintos.
Espero que te haya servido esta iniciación a los plugins de WordPress, intentaré hacer algún post explicando un poco más profundo el tema, ahora cualquiera puede hacer un plugin para WordPress, no hay excusas.
13 comentarios, 15 referencias
+
#