我正在开发一个插件,并尝试使用一个类(遵循另一个插件的方法)。但我不明白为什么我的常量不能全局可用。这是我的代码:
/*
Plugin Name: Some simple plugin
*/
if (!session_id())
session_start();
class myPluginClass {
function __construct() {
/* Set the constants needed by the plugin. */
add_action( \'plugins_loaded\', array( &$this, \'constants\' ), 1 );
}
function constants() {
$upload_dir = wp_upload_dir();
define( \'SIMPLE_GALLERY_DIR\', trailingslashit( str_replace(\'\\\\\', \'/\', plugin_dir_path( __FILE__ )) ) );
//This works and outputs http://.....
echo SIMPLE_GALLERY_URL;
}
}
$sg = new simpleGallery();
//This does not work and outputs SIMPLE_GALLERY_URL.
echo SIMPLE_GALLERY_URL;
以上两项的结果是:
SIMPLE_GALLERY_URLhttp://.....
这意味着我的最后一个echo是在类之前执行的。还是这样?
constants()
已附加到plugins_loaded
钩子-这可能是在页面加载后执行的吗?