Nuestro Primer Plugin Plugin WordPress
Como Hacer Pluguin WordPress, WordPressHola
.
Como dice el título veremos como hacer nuestro primer plugin , pluguin : )
Lo que más conocemos, realmente como pluguin de WordPress. Es decir un pluguin dentro del directorio pluguins de wordpress ( wp-content/pluguins/ ).
Haremos exactamente lo mismo que en el anterior POST , pero dentro del directorio pluguins , para activarlo en el menu de WordPress, y con alguna diferencia para seguridad y evitar conflictos de colisión de nombres.
Como va a ser una pluguin simple , podemos hacerlo de dos formas principalmente:
- La primera en único fichero php . Por ejemplo mi_pluguin.php , dentro del directorio ( wp-content/pluguins/ )
- La segunda forma ( que es la que haremos ) , consiste en crear dentro del directorio plugins , otro directorio que se llame mi_pluguin ( wp-content/pluguins/
huw_pluguin/ ) . Esto nos servirá para :- Que dentro de ese directorio, podamos poner todo lo que queramos en función de lo complicado que sea ese pluguin de WordPress. Es decir dentro de ese diirectorio podríamos pones los típicos directorios que hay en toda web como:
- wp-content/pluguins/
huw_pluguin/css/ : Directorio para guardar el estilo del pluguin - wp-content/pluguins/
huw_pluguin/js/ : Directorio para guardar el javascript del pluguin - wp-content/pluguins/
huw_pluguin/img/ : Directorio para guardar las imagenes del pluguin - wp-content/pluguins/
huw_pluguin/etc/
- wp-content/pluguins/
- Además nos será más fácil, eliminarlo después, si queremos.
- Tendremos una estructura más ordenada para evitar conflictos, de nombres.
- Que dentro de ese directorio, podamos poner todo lo que queramos en función de lo complicado que sea ese pluguin de WordPress. Es decir dentro de ese diirectorio podríamos pones los típicos directorios que hay en toda web como:
Al pluguin además de la “programación normal” se debe añadir el título y otros detalles como cabecera.
A continuació se pone el pluguin completo y se explicará algún detalle.
/*
Plugin Name: huw_pluguin
Plugin URI: http://www.hazmeunaweb.com/
Version: v1.00
Author: <a href="http://www.hazmeunaweb.com/">HazmeUnaWeb.com</a>
Description: Un ejemplo de plugin para WordPress , con varias estructuras juntas
Copyright 2009 HazmeUnaWeb.com (email : frelance@hazmeunaweb.com
El tipo de licencia que se quiera poner
por ejemplo :
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
// Función simple definida dentro del fichero huw_pluguin.php
function hola_huw() {
return "Hola , ";
}
// Comprobamos que la clase no existe antes de crearla para evitar problemas
if (!class_exists("HazmeUnaWeb_pluguin_compatible")) {
class HazmeUnaWeb_pluguin_compatible {
// declaración y definición de variable ( compatibilidad PHP4 )
var $texto = "Bienvenido";
function HazmeUnaWeb_pluguin_compatible() { //constructor con compatibilidad PHP4, PHP5
$this->texto = $this->texto." a ";
}
} // final de la defición de la clase
}
// nos aseguramos de que existe ante de instanciarla y llamar a su constructor
if (class_exists("HazmeUnaWeb_pluguin_compatible")) {
$nueva_instancia_compatible = new HazmeUnaWeb_pluguin_compatible();
}
// Comprobamos que la clase no existe antes de crearla para evitar problemas
if (!class_exists("HazmeUnaWeb_pluguin_php5")) {
class HazmeUnaWeb_pluguin_php5 {
// declaración y definición de variable
public $texto_php5 = "Hazme";
function __construct() { //constructor SOLO PHP5
$this->texto_php5 = $this->texto_php5."UnaWeb.com";
}
} // final de la defición de la clase
}
// nos aseguramos de que eiste ante de instanciarla y llamar a su constructor
if (class_exists("HazmeUnaWeb_pluguin_php5")) {
$nueva_instancia_php5 = new HazmeUnaWeb_pluguin_php5();
}
Las únicas diferencias con respecto , al previo pluguin hecho con el fichero functions.php son:
- Una cabecera donde se explican los detalles del pluguin y se pone un copyright si se quiere
- la comprobación de la existencia de la clase antes de instanciarla
- Para que funcione el pluguin, el usuario debe activarlo en la sección pluguins
Después de crear el directorio y el fichro del pluguin , al usuario le aparecerá esta imagen:

Solo se debe pulsar en ACTIVAR para que se pueda utlizar el pluguin y listo
Para que se vea su efecto, hemos puesto lo siguiente en single.php
// Ejemplo de pluguin con el fichero huw_pluguin.php
$titulo_post = the_title('','',FALSE);
// Si es el post donde queremos poner el pluguin
if ( $titulo_post == 'Nuestro Primer Plugin Plugin WordPress' )
{
echo "<p style='color:#ff0000;'>";
echo "<strong>";
echo hola_huw(); // llamada a funcion simple
echo $nueva_instancia_compatible->texto; // llamada a clase compatible
echo $nueva_instancia_php5->texto_php5; // llamada a clase php5
echo "</strong>";
echo "</p>";
}
Que es lo mismo que habia en el anterior POST, pero cambiando los nombres de las clases para evitar conflictos de nombres.
Hola , Bienvenido a HazmeUnaWeb.com

