14 marzo 2010 0 Comments

Estructura de la clase php de un plugin de wordpress

Los buenos plugins de wordpress están desarrollados a través de una clase php con la que se optimiza el código. Aquí traigo un ejemplo de la estructura básica de la programación php para declarar la clase e insertar el constructor y un método que se autoejecutará al iniciar la clase que instalará el plugin.

<?php
/*
Plugin name: Nombre de mi plugin
Version: 0.1
Plugin URI: http://www.johandebuin.com/miplugin
Author: Johan de Bruin
Author URI: http://www.johandebruin.com
Description: una descripción sobre que hace el plugin en cuestión
*/


Ahora declaramos un if para comprobar si la clase ya existe, en caso contrario la definimos.

if ( !class_exists('clasePlugin') ) :
class clasePlugin
{
     //Esta variable sirve para obtener la url del plugin
     var $plugin_url;
 
     //Constructor del plugin
     function clasePlugin()
     {
          $this->plugin_url = trailingslashit( WP_PLUGIN_URL.'/'. dirname( plugin_basename(__FILE__) ));
          //Línea para incluir los scripts a la pagina
          add_action('wp_print_scripts', array(&$this, 'misScripts'));
     }
 
     function instalar()
     {
          //Sentencias como la creación de una BD
     }
 
     function misScripts()
     {
          //Añadimos un script en jquery
          wp_enqueue_script('jquery');
          wp_enqueue_script('clasePlugin', $this->plugin_url . '/rutaDeljquery.js', array('jquery'));
          //Añadimos un css
          echo '<link rel="stylesheet" href="' . $this->plugin_url . '/estilo.css" type="text/css" />';
     }
}
else :
     exit ("La clase clasePlugin ya esta declarada");
endif;

Por último creamos la instancia de la clase, emplearemos la función de wordpress register_activation_hook cuyos parametros son fichero del plugin y callback, para especificar que queremos que se ejecute la función instalar al activar el plugin.

$instanciaPlugin = new clasePlugin();
 
if(isset($instanciaPlugin))
{
     //Recuerda que la & sirve para que los cambios realizados en la variable en la función
     //surtan efecto a nivel global y no solo dentro de la variable.
     register_activation_hook(__FILE__, array(&$instanciaPlugin, 'instalar'));
}
?>

Y recuerda, el codigo es poesia ;) .

Artículos relacionados:

  1. Clase de conexión a Bases datos php Con esta clase de php, te facilitará la tarea de...
  2. Crear y configurar un widget de wordpress Para crear un widget con wordpress solo debemos definirlo en...

Leave a Reply