0

プラグインをアクティブ化しようとすると、wordpressは次のエラーを出します:

致命的なエラーが発生したため、プラグインをアクティブ化できませんでした。解析エラー:構文エラー、79行目の予期しないT_FUNCTION

79行目は以下のスニペットの最初の行です。これを調べると、PHPバージョンエラーが原因だと思います。phpの更新を制御できないため、以前のバージョンと互換性を持たせるにはどうすればよいですか。

add_action('admin_menu', function(){
        Plugin_Options::add_menu_page();
    });
4

2 に答える 2

3

プラグインにはPHPバージョン5.3.xが必要ですfunction。以前のバージョンのPHPでは、その構文エラーメッセージが表示されます。

Wordpressは、プラグインに必要な依存関係を通知させるメカニズムを提供していないため、プラグインをアクティブ化して自分で処理する必要があります(または、あなたの場合のように失敗します)。

代わりに、次のように追加できます。

add_action('admin_menu', 'Plugin_Options::add_menu_page');

そして完了。これは静的なクラスメソッド呼び出しです(PHP 5.2.3以降、コールバックの例のドキュメントで呼び出し可能なタイプ4)、PHP 5.2.3はWordPressの最小PHPバージョン要件の範囲内であるため(WordPress 3.1以降)、これは推奨されるように見えます方法。

于 2012-05-06T12:17:34.783 に答える
2

ほとんどの場合、PHPのバージョンは5.3未満です。匿名関数は5.3でPHPに追加されました。これを利用するために、次のようなコールバック文字列として関数を渡すことができます。

function add_menu_callback() {
  Plugin_Options::add_menu_page();
}

add_action('admin_menu', 'add_menu_callback');
于 2012-05-06T12:13:38.457 に答える