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...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">