Invocar función de un plugin desde el fichero functions.php del tema actual
-
Buenos días!!,
estoy desarrollando un plugin para mi instancia de wordpress y quiero invocar una función de dicho plugin desde el fichero functions.php de mi tema (después invoco esa función del functions.php desde el header.php del propio tema) y no hay manera, o no obtengo ningún valor u obtengo el error:
Fatal error: Call to undefined function…
Independientemente del resto de la funcionalidad del plugin, para probar esta comunicación plugin-tema he hecho una función hola_mundo que es la que intento llamar. la definición de mi plugin es como sigue:
/*
Plugin Name: Notificador de Entradas
Plugin URI: #
Description: Notifica la creacion de una Entrada al Grupo de Supervision de Analisis.
Version: 1.0
Author: Jose
Author URI: #
*/
class notificador_entradas {var $opt;
var $nombre_tabla;// inicializamos plugin
function notificador_entradas_mapfre() {
global $wpdb;$this->nombre_tabla = $wpdb->prefix.’notificador_entradas’;
register_activation_hook(__FILE__, array(&$this, ‘instalar’));
register_deactivation_hook(__FILE__, array(&$this, ‘desinstalar’));
}public function hola_mundo () {
return «Hola mundo!!!»;
}public function instalar () {
create table…
}public function desinstalar () {
drop table…
}
}$miplugin = new notificador_entradas ();
después desde el functions.php de mi tema he intentado invocar la función de varias maneras, aunque sin éxito en todas ellas:
– Llamar directamente a la función hola_mundo. Obtengo el error que comentaba arriba. Si la llamo anteponiendo un if (function_exists (hola_mundo)) no obtengo el error, pero no devuelve ningún resultado.
– Indicar en el constructor de la clase del plugin que la función es una acción (esto lo he hecho de 3 maneras):
add_action (‘hola_mundo’, ‘hola_mundo’);
add_action (‘hola_mundo’, array(&$this, ‘hola_mundo’));
add_action(‘init’, array(&$this, ‘hola_mundo’));y hacer la llamada desde functions.php con:
do_action (hola_mundo);en ninguno de los 2 casos obtengo resultado alguno.
– Intentar declarar el objeto del plugin como variable global para invocarlo desde la función del functions.php de la siguiente manera:
En el plugin:
global $miplugin;
$miplugin = new notificador_entradas ();En el functions.php del tema:
global $miplugin;
$miplugin->hola_mundo ();no obtengo ningún resultado de esta manera tampoco.
la verdad es que ya no se que hacer, se me está iendo la pinza con este tema y estoy convencido que debe ser una chorrada, pero no lo veo. He estado mirando en los foros de wordpress.org y stackoverflow y no consigo hacerlo funcionar :(.
¿Se le ocurre algo a alguien?… cualquier respuesta será bienvenida :).
Muchas gracias por adelantado!!
Un saludo.José.
- El debate ‘Invocar función de un plugin desde el fichero functions.php del tema actual’ está cerrado a nuevas respuestas.