En este post, escribiremos un sencillo plugin para wordpress el cual consistirá en reemplazar palabras en los comentarios que nosotros consideremos «prohibidas» y cambiarlas por otra que nosotros deseemos :).
Este plugin no tendrá panel de administración ni interactuara con la base de datos, ni nada complicado, eso lo dejaremos para próximos plugins 🙂
Que necesitamos
– WordPress 3 o superior instalado en local «http://localhost/wordpress/»
– Netbeans
– Uso básico del IDE y del lenguaje php
Nivel: Novato
Tiempo: 15 minutos
1. Crea un proyecto PHP Aplication en Netbeans, el nombre del proyecto sera «Plugin Banned Word» y la dirección donde guardaremos el proyecto sera:
C:\AppServ\www\wordpress-3.5.1\wp-content\plugins\banned_word
donde «wordpress-3.5.1» es la versión de WP que tengo instalado en mi equipo, y «banned_word» es la carpeta donde guardaremos el código del plugin.
2. Presionamos siguiente, nos encontramos en la opción de «run configuration«, aquí debemos indicar como se ejecutara nuestra aplicación, dado que el plugin forma parte de WP, debemos colocar en «Project URL» la dirección principal de nuestro worpress y no del plugin, en mi caso es «http://localhost/wordpress-3.5.1/», así también, estamos trabajando en local por lo que en Run As elegimos Local Web Site.
Para terminar presionamos FINISH
3. Creamos el archivo PHP correspondiente a nuestro plugin «banned_word.php» y escribimos:
<?php /* Plugin Name: Plugin Banned Word Plugin URI: http://wwww.example.com Description: Plugin que reemplaza palabras prohibidas en los comentarios por otra indicada por el administrador Author : jc mouse Version: 1.2.3 Author URI: htpp://www.jc-mouse.net/ */ ?>
Nuestro plugin en Netbeans tiene este aspecto:
4. Ingresemos al panel de administración de WP -> plugins instalados y veremos que nuestro plugin ya se encuentra registrado:
Activa el plugin, no pasara nada, no tenemos nada escrito, aún.
5. Para terminar el plugin, debemos agregar el siguiente código en nuestro archivo banned_word.php, debajo, de lo que ya teníamos escrito 🙂
/** * Reemplaza palabras de los comentarios que se encuentra en una 'Lista Negra' * y las reemplaza por otra * @param $comments comentarios worpress */ function bw_change_word( $comments ) { //pagina global $pagenow; //palabras prohibidas $str = array("chile", "peru", "argentina","venezuela","brasil"); //palabra(s) de reemplazo $newstr = '<a href="#">Bolivia :)</a>' ; //Si no se encuentra en la pagina de EDICION DE COMENTARIOS //muestra comentarios con palabras censuradas if( $pagenow != 'edit-comments.php' ) { $html = str_ireplace( $str, $newstr, $comments ); return $html; } else //muestra comentarios originales { return $comments; } } //se añade funcion add_filter('comment_text', 'bw_change_word',1 );
La función bw_change_word(), es la encargada de reemplazar las palabras prohibidas en los comentarios, add_filter(…) es una función propia de WP para añadir filtros, puedes ver con detalle como funciona en el CODEX de WP.
add_filter(‘nombre_del_gancho’, ‘tu_filtro’, [prioridad], [argumentos]);
nombre_del_gancho es el nombre de la acción provista por WordPress, que define cuando tu filtro debe ser aplicado.
tu_filtro es el nombre de la función que quieres sea usada para realizar el filtrado. Puede ser una función integrada en PHP, una función presente en el núcleo de WordPress, o una función definida por ti en el archivo de tu Plugin.
prioridad es un argumento opcional (dígito) que puede ser usado para especificar el orden en que serán ejecutadas las funciones asociadas el filtro en particular (valor predeterminado: 10). Números mas bajos corresponden a una ejecución mas temprana, y funciones con la misma prioridad son ejecutadas en el orden en el que fueron añadidos al filtro.
Argumentos es opcional 🙂
Para probar nuestro plugin, agregamos algunos comentarios que contengan las palabras que tenemos prohibidas, desde el panel de administración, veremos los comentarios tal cual fueron escritas.
Pero vistos desde un post, veremos que las palabras prohibidas son reemplazadas 🙂
Proyecto Plugin WP
Cuando se almacenan imágenes en una aplicación java y se desea después a modo de registro buscar estas y cargarlas en al[...]
En anteriores post construimos aplicaciones Cliente/Servidor los cuales intercambiaban mensajes de una forma secuencial[...]
VLC Media Player es un reproductor multimedia de código abierto muy popular desarrollado por el proyecto VideoLAN. VLCJ [...]
En un post anterior, desarrollamos un swing para simular un efecto FLIP y recibí algunos mensajes pidiéndome un ejemplo[...]
En este post mostramos un ejemplo de uso de la interface ResultSetMetaData el cual se extiende Wrapper que es una interf[...]
En un post anterior vimos como utilizar GSON para serializar un objeto java en JSON, en esta oportunidad se vera el proc[...]