Ene 16
Estructura del pluguin SOLO con funciones
Como Hacer Pluguin WordPress, WordPressHola
en este post pondremos el ejemplo de una estructura de pluguin hecho solo con funciones.
Esta estructura poseerá las siguientes características :
- Hecha solo con funciones ( sin clases class mi _clase{} etc )
- Incluye función instalación en WordPress.
- Incluye función desinstalación en WordPress
- Incluye opciones de administración.
- Incluye Shortcode ( codigo corto para ejecutar función principal )
- Incluye opción de Widget para ejecutar como widget
En este caso por primera vez , se empiezan a utilizar funciones ( hooks ) propias de WordPress, que se deben conocer antes que son:
- add_options_page : Añade el menu de opciones a WordPress de nuestro Pluguin/Widget
- add_action(‘admin_menu’, ‘inserta_menu_huw’) : Accción que se ejecuta al acceder a las opciones de wordpress.
- add_action(‘activate_TU-DIRECTORIO/TU-FICHERO.php’,'instala_huw’) : Añade la función que se ejecutará cuando se active el pluguin/widget ( inicialización ). Puede servir por ejemplo para crear una tabla en la base de datos de wordpress.
- add_action(‘deactivate_TU-DIRECTORIO/TU-FICHERO.php’, ‘desinstala_huw’) . Añade la función que se ejecutará cuando se desactive el pluguin/widget .
- register_sidebar_widget(“Widget HazmeUnaWeb”, “principal_widget_huw”) : Registramos la función a ejecutar como widget.
- add_action(“plugins_loaded”, “iniciar_widget_huw”): Solo cuando el pluguin sea leido , activamos el widget !!!
- add_shortcode(‘hazmeunaweb’, ’shortcode_huw’) : Añadimos la función a ejecutar cuando se escriba el shortcode en los post . En los post se escribirá : y se ejecutará esa función.
A continuación viene el código que se explica por si solo. En principio todo esta incluido dentro de un directorio, con un único fichero (wp-content/pluguins/huw_estructura_funciones/huw_estructura_funciones.php )
<?php
/*
Plugin Name: huw_estructura_funciones
Plugin URI: http://www.hazmeunaweb.com
Description: Pluguin de ejemplo que consta de : Estructura solo con funciones - Incluye widget - Incluye SortCode - Incluye función de instalación - Incluye funcion de desinstalación - Incluye opciones en el Admin de WordPress
Version: 0.1
Author: Manuel Martínez
Author URI: http://www.hazmeunaweb.com
*/
/* Función que se ejecutará en wordpress , cuando se haya puesto denro del codigo <?php principal_huw(); ?> */
function principal_huw(){
// Tu codigo
}
/* Función que se ejecutará en wordpress COMO UN WIDGET */
function principal_widget_huw(){
// Tu codigo PUEDE SER EL MISMO QUE principal_huw() o no
}
// Funcion que SOLO !!! se ejecuta al activar por primera vez el pluguin ( hace la instalación inicial )
function instala_huw(){
// Tu codigo
}
// Función que SOLO !!! se ejecuta al desisnstalar el pluguin ( hace la desinstalación final )
function desinstala_huw(){
// Tu codigo
}
// Función para poner nuestro saludo personalizado , configurandolo en 'nuestro' panel personalizado del admin de wordpress
function admin_huw()
{
// Tu codigo
echo utf8_encode( "Aquí esta la zona de administración del Widget HazmeUnaWeb");
}
// shortcode del plugin para usar en los post
// se usa poniendo en los post
function shortcode_huw($atts) {
// el valor devuelto por return se inserta en el post en lugar
// del shortcode. No se debe usar echo sino return !!!!!
return principal_huw();
}
/////////////////////////////////////////////////////////////////
// COMIENZO DE FUNCIONES Y HOOKS PARA QUE WORDPRESS LO INSTALE //
/////////////////////////////////////////////////////////////////
// Función para insertar nuestro panel de conficguración del pluguin en wordpress
function inserta_menu_huw()
{
if (function_exists('add_options_page'))
{
//add_menu_page
add_options_page('Estructura HazmeUnaWeb', 'HazmeUnaWeb', 8, basename(__FILE__), 'admin_huw');
}
}
// Condicional para asegurarnos que existe la función
if (function_exists('add_action'))
{
add_action('admin_menu', 'inserta_menu_huw');
}
// Le decimos a wordpresss cual es la función a ejecutar al ACTIVAR el pluguin ( función instalación del pluguin )
add_action('activate_TU-DIRECTORIO/TU-FICHERO.php','instala_huw');
// Le decimos a wordpress cual es la función que debe ejecutar al DESACTIVAR el pluguin ( función desinstalación del pluguin )
add_action('deactivate_TU-DIRECTORIO/TU-FICHERO.php', 'desinstala_huw');
// Función para instalar el widget
function iniciar_widget_huw(){
register_sidebar_widget("Widget HazmeUnaWeb", "principal_widget_huw");
}
// Cuando los pluguins se han leido , entonces instalamos el widget
// Por esto la activación del widget se hace dentro de la función !!!
add_action("plugins_loaded", "iniciar_widget_huw");
// Ponemos el shortcode
// se usa poniendo en los post
add_shortcode('hazmeunaweb', 'shortcode_huw');
?>

