我正在編寫一個Wordpress插件,它在管理區域創建一個頁面,並執行一些前端代碼。
下面的代碼會拋出一個不錯的Fatal error: Using $this when not in object context
錯誤。這很神祕,因爲這個變量在課堂內部被調用。
也許我沒有按照Wordpress插件結構的函數和類,但下面的概念代碼是使用Wordpress Codex中插件開發的相關條目創建的。
有人可以解釋爲什麼錯誤被觸發,因爲當我在Wordpress代碼庫之外創建類的實例時,一切都很好。
if (!class_exists("MyClass")) {
class MyClass {
var $test = 'Test variable';
public function index() {
//Index code
}
public function add() {
echo $this->test;
}
}
}
add_action('admin_menu', 'my_plugin_menu');
function my_plugin_menu() {
add_menu_page('My Plugin', 'My Plugin', 'manage_options', 'my-plugin', array('MyClass', 'index'));
add_submenu_page('my-plugin', 'Add New Thing', 'Add New', 'manage_options', 'my-plugin-add', array('MyClass', 'add'));
}
嘿...,代碼不適合我。所以,我改變這個`add_action('admin_menu','my_plugin_menu');`這個`add_action('admin_menu',array($ this,'my_plugin_menu'));` – KeepMove 2014-06-12 15:32:08