WordPress: PHP Неустранимая ошибка: вызов неопределенной функции get_option ()

Я искал почти везде, но предложенные ответы мне не помогли.

Проблема: у меня установлена ​​Wordpress, последняя версия (3.6.1). Я сделал чистую установку несколько раз, заглянул в wp-includes/option.php и другие файлы, и я уверен, что все это работает, и у всех есть правильный контент.

Я разрабатываю плагин, и я использую функцию get_option определенную в get_option . Всякий раз, когда мой код вызывает эту функцию, я получаю ответ на 500: internal server error . Странно, потому что код плагина следует вызывать из рамки WordPress …

Сделайте это еще более странным: другие функции, определенные в этих включенных файлах, например, add_options_page , отлично работают и ведут себя так, как должны.

Так, например, это работает:

 $pageTitle = "Title for my Options Page"; $menuLink = "Title for my Menu Link"; $userAccessLevel = 8; //that's admin $pageSlug = "slug-to-my-plugin-options-page"; $callbackFunction = array($this, 'optionsPage'); add_options_page($pageTitle, $menuLink, $userAccessLevel, $pageSlug, $callbackFunction); 

Но это не так:

 get_option("ntp_myoption"); 

И add_options_page и get_option определены в исходных файлах в той же папке ( wp-includes\option.php и wp-includes\plugin.php ), обе функции эффективно находятся в этих файлах, оба блока кода выше находятся в одном файле в мой плагин, я не включал и не требовал никакого файла.

Кто-нибудь знает?


Как уже было get_option , полный блок кода, из которого я вызываю get_option – это из конструктора моего класса, который обертывает плагин.

 function __construct() { global $wpdb; $this->table_iso = $wpdb->prefix . "ntp_iso"; $this->pluginUrl = get_option('siteurl') . '/wp-content/plugins/my-plugin'; } 

Также, возможно, стоит упомянуть: у меня есть класс, который обертывает фактический плагин, а в нижней части этого .php-файла у меня есть (вне определения класса), этот код:

 global $tp; $tp = new MyPlugin(); $plugin = plugin_basename(__FILE__); register_activation_hook( __FILE__, array($tp, 'install')); register_deactivation_hook( __FILE__, array($tp, 'deactivate')); add_action('add_meta_boxes', array($tp, 'init')); if (is_admin()) { add_action('admin_menu', array($tp, 'addOptionsPage')); add_filter("plugin_action_links_$plugin", array($tp, 'addSettingsLink')); } 

Все они работают как шарм.