Добавление функций к крючкам внутри класса

Ниже приведена сводная версия моего плагина, чтобы это было просто. Моя функция настройки вызывается, но когда я перехожу на страницу входа, она не умирает, как должна. У меня был плагин, который работал раньше, но я пытаюсь переписать его в структуру класса, чтобы сделать его более автономным.

if ( ! function_exists('add_action') ) { header('Status: 403 Forbidden'); header('HTTP/1.1 403 Forbidden'); } add_action('plugins_loaded', array('My_Authentication', 'setup') ); if ( ! class_exists('My_Authentication') ) { class My_Authentication { public function setup() { add_action('wp_login', array(&$this, 'no_auth_allowed') ); add_action('wp_logout', array(&$this, 'no_auth_allowed') ); } public function no_auth_allowed() { wp_die('no authentication for you!'); } } } 

Чтобы выяснить, в чем заключается мой вопрос, почему не no_auth_allowed() функция no_auth_allowed() , когда я wp-login.php страницу wp-login.php ?

Я создал экземпляр класса и add_action , что в add_action , который перемещается ниже, где создается экземпляр:

 if ( ! function_exists('add_action') ) { header('Status: 403 Forbidden'); header('HTTP/1.1 403 Forbidden'); } if ( ! class_exists('My_Authentication') ) { class My_Authentication { public function setup() { add_action('wp_login', array(&$this, 'no_auth_allowed') ); add_action('wp_logout', array(&$this, 'no_auth_allowed') ); } public function no_auth_allowed() { wp_die('no authentication for you!'); } } $my_auth = new My_Authentication; } add_action('plugins_loaded', array($my_auth, 'setup') );