我正在编写一个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