views:

6

answers:

1

I have a plugin which registers a post type, taxonomy and handles some business logic.

I went ahead and made my perfectly working plugin OO based and now it only works some of the time.

Its set-up like the following:

    class Fruit {
       public function __construct() {
           add_action('init', array(&$this, 'init'));       
       }

       public function init() { 
           $this->the_apple();
       }


       public function the_apple() {
           return print $apple = 'my apple';
       }
    }

    $fruit = new Fruit();

Then in taxonomy.php, withing the loop the following works:

$fruit->the_apple();

But once I use get_template_part with loop.php, this no longer works

$fruit->the_apple();

I get the following notice:

Notice: Undefined variable the_apple();
A: 

My fix was to use:

global $fruit;

and now it works all the time, just fyi about globals they get a bad rep. and there's namespacing issues, along with dumping everything into globals vs. using a registry.

In production i would never use the name $fruit, instead i would call it,

global $skylar_fruit;
SkyLar