Si trabajas con WordPress sabrás que una de las formas más utilizadas de extender la plataforma es a través de los Plugins. Quizá muchas veces te has encontrado utilizando plugins construidos por terceros, pero nunca te has embarcado en la tarea de desarrollar un plugin. Aunque no lo creas, no es una tarea compleja, si ya posees conocimientos de programación.
En este breve artículo, explicaremos cómo construir uno sencillo. Espero te resulte útil!
Alcance de este pequeño plugin
Trabajo en algunos proyectos en WordPress en donde además de permitir el registro de usuarios por el método estándar, también permito que los usuarios ingresen al sistema con sus cuentas de Twitter o Facebook, para lo cual utilizo plugins existentes.Sin embargo, en algunos casos, estos plugins permiten a los usuarios ingresar al sistema sin especificar su correo electrónico (en realidad eso depende de como los configures).
Lo que vamos a hacer en este breve ejemplo, es construir un plugin que le recomiende a los usuarios que no tengan configurado bien su correo, que lo hagan. Para ello agregaremos un widget en la SideBar con un cartel de advertencia, como el que puede verse la imagen de la derecha
Funcionamiento
Parte 1: verificación del correo del usuarioNuestro plugin tendrá un funcionamiento sencillo.
Primero crearemos una función para consultar el correo electrónico del usuario. Trabajaremos con dos funciones de WordPress:
- is_user_logged_in: para verificar si hay un usuario conectado.
- wp_get_current_user: para obtener la cuenta de correo del usuario conectado.
- Los de Facebook contienen el dominio “unknown.com”
- Los de Twitter comienzan con el nombre “changeme”
Parte 2: widget
La segunda parte se encargará de mostrar una advertencia al usuario en un widget que podrá agregarse en el SideBar:
Además agregará un link que lleve al usuario a la página de configuración de su correo. En nuestro caso, como se trata de una red social vertical creada con el plugin BuddyPress, utilizaremos datos globales de BuddyPress que podemos obtener con la instrucción:
global $bp;
Y en particular la URL del perfil con:
$bp->loggedin_user->domain
¿Cómo se construye el plugin?
Simplemente se crea el código PHP respetando el encabezado especificado por WordPress (el código lo pueden ver en la próxima sección). El archivo puede grabarse como main.php y almacenarse en una carpeta dentro de la carpeta: /wp-content/plugins/. También será necesario almacenar un archivo readme.txt.Una vez que hayamos almacenado el plugin en la carpeta correspondiente aparecerá en la lista de nuestros plugins inactivos listo para activarlo:
Una vez activado, sólo nos queda agregar el widget en la SideBar y ya podemos comenzar a utilizarlo.
El código
A continuación les pego el código completo:
<?php /* Plugin Name: Autonautas Mail Verification Plugin URI: http://viviendoenlaeradelaweb20.blogspot.com/ Description: Verifica que el usuario tenga bien configurado su correo. Caso contrario emite una alerta en el SideBar. Version: 1.0 Author: Juan Pablo Pussacq Laborde Author URI: http://viviendoenlaeradelaweb20.blogspot.com/ License: GPL2 */ function autonautas_mail_read () { $resultado = "OK"; // Sólo se controla al usuario conectado if ( is_user_logged_in() ) { $usuario_actual = wp_get_current_user(); $correo_actual = $usuario_actual->user_email; // Sufijo que tienen los mails de los usuarios registrados con Twitter $buscado_t = strpos($correo_actual, "changeme"); // Sufijo que tienen los mails de los usuarios registrados con Facebook $buscado_f = strpos($correo_actual, "unknown.com"); if ( ($buscado_t !== FALSE) or ($buscado_f !== FALSE) ) { $resultado = "MAL"; } } return $resultado; } add_action('wp_head','autonautas_mail_read'); function autonautas_mail_widget () { $estado_correo = autonautas_mail_read (); if ( $estado_correo !== "OK" ) { global $bp; // Datos globales de BuddyPress echo "<p></p>"; echo "<div style='padding: 15px; color: black; border-radius: 3px; background-color: white; border: 7px solid red;' id='autonautas_mail_verification'>"; echo "<p></p>"; echo "<center>"; echo "<h3>Advertencia!!</h3>"; echo "</center>"; echo "<p></p>"; echo "<p>Tu correo electrónico no está configurado. Ante cualquier problema con tu cuenta no podremos contactarte <a href='/2011/11/configura-tu-correo/'>[...]</a></p>"; echo "<p></p>"; echo "<p></p>"; echo "<center>"; echo "<img src='/wp-content/uploads/2011/08/mensajes.png'></img>"; echo "<div id='autoayuda' class='activity-list'><div class='activity-header'><a width: 120px ; display: block; ' href='" . $bp->loggedin_user->domain . "settings/'>Configura tu correo</a></div></div>"; echo "</center>"; echo "<p></p>"; echo "<p></p>"; echo "</div>"; } } wp_register_sidebar_widget('autonautas_mail_verification', 'autonautas_mail_verification', 'autonautas_mail_widget'); ?>
Conclusión
Como pueden ver, crear un plugin no es complicado y muchas veces puede ayudarnos con ciertas actividades que no podemos resolver con otros plugins. Espero que les haya servido.Hasta la próxima!
Enlaces de interés:
- Sitio oficial de WordPress para construir un plugin
- Blogs que explican como construir un plugin
- http://net.tutsplus.com/tutorials/wordpress/your-first-wordpress-plugin-simple-optimization/
- http://wp.tutsplus.com/tutorials/plugins/intermediate-wp-plugins-most-popular-by-views/
- http://www.7tech.co.in/wordpress/how-to-access-wordpress-database-in-wordpress-plugin-or-theme/
- http://wp.smashingmagazine.com/2011/09/30/how-to-create-a-wordpress-plugin/
- http://www.wpbeginner.com/wp-tutorials/how-to-create-a-wordpress-plugin/
- Funciones de WordPress y BuddyPress utilizadas
0 comentarios:
Publicar un comentario