Немає обмежень та жодних штрафних санкцій за виконання. Щоб зрозуміти чому, вам потрібно зрозуміти, як всі гачки зберігаються в екосистемі WP.
Перш за все вам потрібно зрозуміти, де зберігаються всі гачки і як вони це роблять. Усі гачки фільтрів і дій зберігаються в глобальній змінній wp_filter, так званій , так, гаки дій також зберігаються в цій змінній. Ця змінна є асоційованим масивом, де ключовим є ім'я дії або фільтра, а значення - інший асоціативний масив. Наприклад, давайте подивимося на дії "init", на цьому етапі ми побачимо наступну структуру:
$wp_filter = array(
'init' => array(...),
);
Цей підмасив має числові ключі та значення у вигляді масивів. Цифрові ключі - це наші пріоритети. Масиви, пов’язані з цифровими клавішами, містять список гачків з однаковим пріоритетом. Тож якщо ми зателефонуємо add_action( 'init', 'wpse8170_my_first_init', 20 ), то зателефонуйте add_action( 'init', 'wpse8170_my_second_init', 20 )та нарешті зателефонуйте add_action( 'init', 'wpse8170_my_third_init', 10 ), наш приклад матиме вигляд:
$wp_filter = array(
'init' => array(
20 => array(
'wpse8170_my_first_init' => array(
'accepted_args' => 1, // the number of accepted arguments by your hook
'function' => 'wpse8170_my_first_init', // callback function
),
'wpse8170_my_second_init' => array(...),
),
10 => array(
'wpse8170_my_third_init' => array(...),
),
),
);
Тепер, коли initзапускається дія, всі гачки будуть відсортовані за допомогою ksortфункції, і наш масив виглядає зараз:
array(
10 => array(
'wpse8170_my_third_init' => array(...),
),
20 => array(
'wpse8170_my_first_init' => array(
'accepted_args' => 1, // the number of accepted arguments by your hook
'function' => 'wpse8170_my_first_init', // callback function
),
'wpse8170_my_second_init' => array(...),
),
),
І всі гачки будуть виконані в цій черзі: спочатку 'wpse8170_my_third_init', потім 'wpse8170_my_first_init'і нарешті 'wpse8170_my_second_init'.
Таким чином, ви можете бачити, що немає обмежень і штрафних санкцій, і ви можете використовувати будь-яке значення, прийнятне як ключ для асоційованого масиву у вашому середовищі PHP.