Global Variables in a WordPress Plugin


Question

I am trying to create my first WordPress plugin. Even in trying to create the install function, things are being a pain. I want to set some global variables specific to my plugin rather than putting the literal values throughout the various functions. However, my install function does not pick up these global variables. Here is my code so far:

$version = '1.0a';
register_activation_hook( __FILE__, 'install' );
function install() {
  global $version;
  add_option( 'test_version', $version );
}

Obviously this is pretty straight forward on my end. Any ideas what is going wrong here??

1
3
10/14/2009 4:49:59 PM

Accepted Answer

It turns out if you want a global variable for your install function, you must declare it to be global.

global $version = '1.0a';
register_activation_hook( __FILE__, 'install' );
function install() {
  global $version;
  add_option( 'test_version', $version );
}

More information can be found at the link below under the "A Note on Variable Scoping" section: http://codex.wordpress.org/Function_Reference/register_activation_hook

9
10/14/2009 6:09:07 PM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon