2012-05-06 37 views
0

當試圖激活我的插件,WordPress的想出了這個錯誤:WordPress的插件出錯PHP

Plugin could not be activated because it triggered a fatal error. Parse error: syntax error, unexpected T_FUNCTION on line 79

線79下面的代碼片段的第一線,從尋找到這一點,我想這是因爲一個PHP版本的錯誤,因爲我無法控制更新PHP,我將如何使它與早期版本兼容?

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

這個插件需要PHP版本5.3.x. WordPress不提供一種機制讓插件告訴他們需要哪種依賴關係,以便他們需要自己激活並關心(或者像您的情況那樣失敗)。 – hakre

回答

2

很可能,您的PHP版本是< 5.3。匿名函數在5.3中添加到PHP中。爲了充分利用這一點,你可以傳遞函數作爲回調字符串,如:

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

add_action('admin_menu', 'add_menu_callback'); 
+0

非常感謝!只要SO讓我接受就會接受。 –

3

你的插件需要function PHP版本5.3.x,則應更早版本的PHP給你的語法錯誤消息。

WordPress不提供一種機制讓插件告訴他們需要哪個依賴關係,因此他們需要自己激活和關心(或者只是在您的情況下失敗)。

您可以再補充它,而不是這樣:

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

而完成的。這是一個靜態類方法調用(從PHP 5.2.3,Type 4 callable in the Callback ExampleDocs開始),PHP 5.2.3在the minimum PHP version requirements of wordpress(這是自WordPress 3.1開始)之後,所以這看起來像是首選方法。