is_plugin_active function doesn’t exist
I’m using WordPress 3.0.5 and have tested with 3.1rc4. In the main PHP file of my plugin, when I try to call is_plugin_active I get Call to undefined function is_plugin_active()
. I can call add_action and add_filter. What should I check/change to fix this?
This is happening inside of the admin on the Plugins page. At the top of my main plugin file I have, if (function_exists('is_plugin_active')) {
which always returns false.
I also can’t see the functions from my main plugin file in other plugins (if that helps any).
Answer ( 1 )
That’s because the file in which is_plugin_active() is defined –
wp-admin/includes/plugin.php
– is only loaded in the admin, after your plugin is loaded.Thus, you can only call it after ‘admin_init’ has fired:
function check_some_other_plugin() { if ( is_plugin_active('some-plugin.php') ) { ... } } add_action( 'admin_init', 'check_some_other_plugin' );