Cómo llamar a una función de plugin desde index.php
He creado una función en mi plugin myplugin
con el nombre foo
, ¿cómo puedo llamarla desde el frontend?
// ¿por ejemplo en index.php?
De la misma manera que lo harías con cualquier otro:
foo();
Los plugins activos se cargan antes que los archivos del tema
Quizás quieras verificar que tu plugin está activado y que la función está disponible para que las cosas no salgan mal si olvidas activarlo, como:
if(function_exists('foo')){
foo();
} else {
echo "oh no, no has activado/instalado 'myplugin', hazlo antes de que la función 'foo' esté disponible";
}
También ten en cuenta que foo
es un nombre de función muy genérico, quizás el plugin "omgfoo" también tiene una función foo
. Así que añade un prefijo o espacio de nombres a tu función para hacerla única
Eventualmente querrás usar acciones y filtros, ya que son más seguros y una mejor práctica, puedes seguir leyendo sobre eso aquí

No deberías hacerlo. Un tema no debería depender de un plugin excepto en un entorno muy controlado. En su lugar, utiliza acciones y filtros.
Así que en tu tema podrías usar:
do_action( 'before_header' );
… o …
$bg_options = array (
'wp-head-callback' => 't5_custom_background_frontend',
'default-color' => 'f0f0f0',
'default-image' => '',
);
$bg_options = apply_filters( 't5_theme_bg_options', $bg_options );
add_theme_support( 'custom-background', $bg_options );
add_action( 'login_head', $bg_options['wp-head-callback'] );
En tu plugin usas add_action()
y add_filter()
para cambiar o añadir nuevo contenido. De esta manera, el tema seguirá funcionando cuando el plugin haya sido desactivado y no tendrás que usar function_exists()
.

Los plugins activos están cargados (técnicamente hablando, sus archivos son incluidos y procesados por PHP durante la carga de WordPress) para cuando se ejecutan las plantillas del tema.
Por lo tanto, tu función debería estar disponible y puede ser llamada como cualquier otra función:
<?php foo(); ?>
por ejemplo.
