Nuestro primer pluguin WordPress
Como Hacer Pluguin WordPress, WordPressHola
Vamos a hacer nuestro primer pluguin WordPress.
Los desarrolladores, suelen aprender antes el lenguaje de programación PHP ( más “general” ) y después se va aplicando a los distintintos frameworks , CMS , por esto es normal que se sepa PHP y después se aprendan las particularidades ( como en este caso ) de WrodPress.
Así el ejemplo simple elegido para empezar , será uno que utilice “SOLO” PHP . Es decir no se necesitan conocimeientos de Hooks u otra funcionalidad de WordPress.
De esta forma , sirve para plantear las estructuras iniciales del pluguin , en base a los parámetros del anterior POST
Más tarde solo se deberá , incluir más conocimientos de WordPress dentro de estas estructuras.
1er Ejemplo de Pluguin
Para este primer ejemplo , usaremos varias estructuras a la vez , para “matar varios pajaros de un tiro”. esto lo haremos siguiendo estos puntos :
- Planteamiento del Objetivo : En este caso, el objetivo será, una frase de bienvenida al web/blog hazmeunaweb.com , utilizando varias estructuras ” PHP “ a la vez, dentro del fichero functions.php , que serán :
- Una simple estructura de función .
- Una Clase con compatibilidad para PHP4 , PHP5
- Una Clase solo con compatibilidad PHP5
- En base al objetivo y los parametros indicados en el POST anterior ir definiendo la solución:
¿Cómo crear un pluguin?
La necesidad : Queremos añadir el pluguin como una funcionalidad extra, de nuestro theme. En este caso empezaremos por lo más sencillo que es ponerlo dentro de nuestro fichero functions.php
Estructura de Programación y Compatibilidad: Queremos poner varias estructuras a la vez para conseguir algo. Sería como utilizar 3 pluguins diferentes para un mismo objetivo. Es este caso se hace así , como medio didáctico para ver varias estructuras a la vez ( con solo una de ellas habríamos conseguido el mismo resultado )
¿Donde crear un pluguin?
Hemos decido que será en el fichero functions.php , que se encuentra en wp-content/themes/mi_theme/functions.php
¿Cuando crear un pluguin?
Desde el punto de vista de del conocimiento de wordpress: En principio supondremos que no hemos encontrado que se pueda hacer de otra forma ( esto sería lo primero que hariamos normalmente ). Ahora es didáctico.
¿Existe ya ese pluguin? : Suponemos que no existe.
Ahora que ya tenemos “todo” decidido y planteado , vamos a programar dentro del fichero functions.php
Primero empezamos por una función sencilla:
// Función sola definida dentro del fichero functions.php
function hola_hazmeunaweb() {
return "Hola , ";
}
Esta función la utilizaremos en cualquiera de nuestros fiheros de WordPress de la siguiente forma:
<?php echo hola_hazmeunaweb() ?>
Segundo pondremos una estructura de clase con compatiblidad para PHP4, PHP5
// clase definida dentro del fichero functions.php
// con compatibilidad PHP4, PHP5
class hazmeunaweb {
// declaración y definición de variable ( compatibilidad PHP4 )
var $texto = "Bienvenido";
// función constructor de la clase ( compatibilidad PHP4 , PHP5 )
// lo que hace es añadir el texto "a " para terminar de formar la frase de bienvenida
function hazmeunaweb() {
$this->$texto = $this->$texto." a ";
}
}
// Hacemos una instancia para poder llamarla desde cualquier fichero
// Se llama implicitamente al constructor de forma que $texto = "Bienvenido" + " a "
$mi_clase_compatible = new hazmeunaweb();
Tercero pondremos una estructura de clase con compatiblidad SOLO para PHP5 ( hasta que se implante el 6
)
// clase definida dentro del fichero functions.php
// NOS ASEGURAREMOS QUE SOLO SERÁ PARA PHP 5 !!!!!
// MEDIANTE LA DEFINCICIÓN ESPECÍFICA DEL CONSTRUCTOR "__construct"
class hazmeunaweb_php5 {
// declaración y definición de variable
public $texto_php5 = "Hazme";
// función constructor de la clase ( compatibilidad PHP4 , PHP5 )
// lo que hace es añadir el texto "UnaWeb.com" para terminar de formar la frase de bienvenida
function __construct() {
$this->$texto_php5 = $this->$texto_php5."UnaWeb.com";
}
}
// Hacemos una instancia para poder llamarla desde cualquier fichero
// Se llama implicitamente al constructor de forma que $texto_php5 = "Hazme" + "UnaWeb.com"
$mi_clase_php5 = new hazmeunaweb_php5;
Una vez hemos preparado y guardado el fichero functions.php, solo falta ponerlo donde queramos
En este caso , como queremos que se ponga SOLO DEBAJO DEL CONTENIDO DE ESTE POST , haremos los siguiente:
Comprobaremos que el título del post , coincide con el post en el que estamos para de esa forma ejecutar el pluguin que queremos.
La comprobación se hace mediante codigo PHP y codigo WordPress
El código WordPress necesario para esto es the_title(”,”,FALSE) que significa : El título del POST actual .
Este codigo admite 3 párametros : the_title(parametro_1,parametro_2,parametro_3)
- parametro_1 = Contenido que queremos insertar antes del título
- parametro_2 = Contenido que queremos insertar después del título
- parametro_3 = TRUE -> El contenido , se “imprime directamente en pantalla” , FALSE -> El contenido se devuelve como un string para ser utilizado dentro de PHP.
<?php $titulo_post = the_title('','',FALSE);
// Si es el post donde queremos poner el pluguin
if ( $titulo_post == 'Nuestro primer pluguin WordPress' )
{
echo "<p style='color:#ff0000;'>";
echo "<strong>";
echo hola_hazmeunaweb(); // llamada a funcion simple
echo $mi_clase_compatible->texto; // llamada a clase compatible
echo $mi_clase_php5->texto_php5; // llamada a clase php5
echo "</strong>";
echo "</p>";
}
?>
De esta forma SOLO ejecutamos este código si el título del POST coincide con ‘Nuestro primer pluguin WordPress’.
Este código se ha introducido en el fichero single.php ( wp-content/themes/mi_theme/single.php ) , que es el que se ejecuta cuando queremos ver un solo POST en WordPress.
Se puede ver en el código las llamadas a la función simple y a cada una de las clases.
En este caso como el hosting tiene PHP Version 5.1.6, no ha habido problema con la clase que SOLO era para PHP5
Normalmente siempre intentaremos hacer las clases compatibles, para que se pueda utilizar por más personas.
Después de todo esto se puede ver debajo de este post la frase con color rojo Hola , Bienvenido a HazmeUnaWeb.com
Hola , Bienvenido a HazmeUnaWeb.com


Enero 15th, 2010 at 2:14 PM
[...] exactamente lo mismo que en el anterior POST , pero dentro del directorio pluguins , para activarlo en el menu de WordPress, y con alguna [...]