Почему в плагинах Wordpress функции выполняются не по порядку?

Пишу плагин. Добавляю шорткод и экшены на ajax:
add_action('plugins_loaded', 'plugin_setup');
function plugin_setup()
{
    add_shortcode('my_plugin', array(my_plugin::get_instance(), 'init'));
    add_action('wp_ajax_get_file', array(my_plugin::get_instance(), 'get_file'));
    add_action('wp_ajax_nopriv_get_file', array(my_plugin::get_instance(), 'get_file'));
}

Казалось бы, в начале я могу получить атрибуты переданные в шорткоде в функции init, назначить значения приватным переменным, а потом использовать эти переменные в функции get_file. Однако, так не работает. В функции get_file приватные переменные остаются с дефолтными значениями, как будто функция init и не выполнялась вовсе. Если изменить значения приватных переменных в конструкторе класса my_plugin, то в методе get_file получаю обновленные переменные, как надо. Но аттрибуты из шорткода же могу передать только в метод init, а не в конструктор. В итоге никак не могу использовать аттрибуты из шорткода. Может кто-нибудь подскажет, что я делаю не так?
  • Вопрос задан
  • 102 просмотра
Пригласить эксперта
Ответы на вопрос 1
secsite
@secsite
Безопасные и быстрые сайты
Может кто-нибудь подскажет, что я делаю не так?

Не читаешь описание используемых функций. Там есть параметр - приоритет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы