Pregunta:
Estoy usando WordPress 3.0.5 y lo he probado con 3.1rc4. En el archivo PHP principal de mi complemento, cuando intento llamar a is_plugin_active, obtengo una Call to undefined function is_plugin_active()
. Puedo llamar add_action y add_filter. ¿Qué debo comprobar / cambiar para solucionar este problema?
Esto está sucediendo dentro del administrador en la página de complementos. En la parte superior de mi archivo de complemento principal tengo, if (function_exists('is_plugin_active')) {
que siempre devuelve falso.
Tampoco puedo ver las funciones de mi archivo de complemento principal en otros complementos (si eso ayuda a alguno).
Respuesta:
Esto se debe a que el archivo en el que se define is_plugin_active (), wp-admin/includes/plugin.php
, solo se carga en el administrador, después de que se cargue su complemento.
Por lo tanto, solo puede llamarlo después de que se haya disparado 'admin_init':
function check_some_other_plugin() {
if ( is_plugin_active('some-plugin.php') ) {
...
}
}
add_action( 'admin_init', 'check_some_other_plugin' );