Пишу плагин. Добавляю шорткод и экшены на 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, а не в конструктор. В итоге никак не могу использовать аттрибуты из шорткода. Может кто-нибудь подскажет, что я делаю не так?