admin管理员组

文章数量:1026680

I'm new to OOP and I'm writing my first plugin. I want to check if the Facebook plugin has already been activated. If so, I want to skip some code:

class MyClass {
...
    function fb_js_sdk_setup() {
        // Check if Facebook plugin is activated 
        if ( class_exists( 'Facebook_WP' ) )
            return;
        // Continue if Facebook plugin is not active
        ...
    }

}

My if (class_exists()) statement isn't working. Appreciate any advice and pointers. Thanks!

I'm new to OOP and I'm writing my first plugin. I want to check if the Facebook plugin has already been activated. If so, I want to skip some code:

class MyClass {
...
    function fb_js_sdk_setup() {
        // Check if Facebook plugin is activated 
        if ( class_exists( 'Facebook_WP' ) )
            return;
        // Continue if Facebook plugin is not active
        ...
    }

}

My if (class_exists()) statement isn't working. Appreciate any advice and pointers. Thanks!

Share Improve this question asked Sep 6, 2012 at 3:49 blogjunkieblogjunkie 6081 gold badge7 silver badges18 bronze badges 3
  • On which action do your create your instance? Make sure to wait until the Facebook plugin has started. – fuxia Commented Sep 6, 2012 at 3:56
  • @toscho oh, good point. My instance is attached to init which I guess is too early. When should I load it instead? – blogjunkie Commented Sep 6, 2012 at 3:59
  • 1 wp_loaded maybe? I don’t know when the FB instance is created. Darshan’s advice is good. – fuxia Commented Sep 6, 2012 at 4:20
Add a comment  | 

1 Answer 1

Reset to default 2

You should use is_plugin_active() method to check if a certain plugin is activated. The class Facebook_WP will still exists even you deactivate the plugin.

I'm new to OOP and I'm writing my first plugin. I want to check if the Facebook plugin has already been activated. If so, I want to skip some code:

class MyClass {
...
    function fb_js_sdk_setup() {
        // Check if Facebook plugin is activated 
        if ( class_exists( 'Facebook_WP' ) )
            return;
        // Continue if Facebook plugin is not active
        ...
    }

}

My if (class_exists()) statement isn't working. Appreciate any advice and pointers. Thanks!

I'm new to OOP and I'm writing my first plugin. I want to check if the Facebook plugin has already been activated. If so, I want to skip some code:

class MyClass {
...
    function fb_js_sdk_setup() {
        // Check if Facebook plugin is activated 
        if ( class_exists( 'Facebook_WP' ) )
            return;
        // Continue if Facebook plugin is not active
        ...
    }

}

My if (class_exists()) statement isn't working. Appreciate any advice and pointers. Thanks!

Share Improve this question asked Sep 6, 2012 at 3:49 blogjunkieblogjunkie 6081 gold badge7 silver badges18 bronze badges 3
  • On which action do your create your instance? Make sure to wait until the Facebook plugin has started. – fuxia Commented Sep 6, 2012 at 3:56
  • @toscho oh, good point. My instance is attached to init which I guess is too early. When should I load it instead? – blogjunkie Commented Sep 6, 2012 at 3:59
  • 1 wp_loaded maybe? I don’t know when the FB instance is created. Darshan’s advice is good. – fuxia Commented Sep 6, 2012 at 4:20
Add a comment  | 

1 Answer 1

Reset to default 2

You should use is_plugin_active() method to check if a certain plugin is activated. The class Facebook_WP will still exists even you deactivate the plugin.

本文标签: pluginsCheck if a class exists within a method