Как определить константу перед плагином

У меня есть плагин, который имеет константу, я буду называть этот плагин PLUGIN A:

if ( ! defined('BLA')){ define('BLA', 'http://google.com); } 

Я хочу сделать еще один плагин PLUGIN B, который определит постоянную BLA перед PLUGIN A. Возможно ли это? Думаю, WordPress нужно читать PLUGIN B до PLUGIN A, но в каком порядке WordPress читает плагины?

Solutions Collecting From Web of "Как определить константу перед плагином"

Определяя константы в глобальной области вместо использования ловушек WordPress, первый загруженный плагин (см. Ответ, связанный с Kero) получит возможность определить константу.

Тем не менее, вы можете использовать некоторые из перехватов API в своем плагине, возможно, самый ранний из них – plugins_loaded , а затем вы можете установить приоритеты для обратных вызовов, подключенных к этому, чтобы вы могли получить обратный вызов из плагина B до обратного вызова из плагина A:

 // 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); 

Надеюсь, это поможет.