在全局范围内定义常量,而不是使用WordPress挂钩,加载的第一个插件(参见Kero链接的答案)将有机会定义常量。
然而,您可以在插件中使用一些API挂钩,最早的可能是plugins_loaded
, 然后,您可以为挂接到此中的回调设置优先级,以便在从插件A回调之前执行来自插件B的回调:
// code in plugin B
add_action(\'plugins_loaded\', function(){
if ( !defined(\'BLA\') ) {
define ( \'BLA\', \'http://google.com\' );
}
}, 0); # <= 0 is the priority
// code in plugin A
add_action(\'plugins_loaded\', function(){
if ( !defined(\'BLA\') ) {
define ( \'BLA\', \'http://google.com\' );
}
}); # <= priority is 10 by default.
然后,该常量将可以在连接到WordPress操作挂钩的任何范围内访问(
init
,
plugins_loaded
,
wp
, 等等…)。
// any other plugin
add_action(\'plugins_loaded\', function(){
echo BLA, PHP_EOL; # "http://google.com" hopefully
}, 11);
希望这有帮助。