私は管理領域にページを作成し、フロントエンドコードを実行するWordpressプラグインを作成中です。
以下のコードは、素敵なFatal error: Using $this when not in object context
エラーがスローされます。変数はクラスの中で呼び出されるので、これはむしろ不思議です。
たぶん私は、関数やクラスを対象としWordpressのプラグイン構造を以下ではないんだけど、下の概念のコードはWordpressのコーデックスにプラグイン開発に関連するエントリを使用して作成されました。エラーがトリガされた理由を、私は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'、配列($この、 'my_plugin_menu'))に '関数、アクションインサイド' – KeepMove