2012-03-14 38 views
2

在插件頁面中,每個插件的名稱下通常都有按鈕/鏈接,如「停用|編輯|設置」。最近在我的一個網站上,「編輯」(和「設置」)按鈕消失了。我只是「停用」或「激活|刪除」。什麼會導致wordpress插件頁面插件的編輯按鈕消失?

我的問題是 - 什麼可能導致這種情況?

我以管理員身份登錄,所以我應該看到按鈕。我懷疑有些東西可能會泄漏最後一個插件的安裝,但我不確定。

當這些按鈕被禁用(隱藏)或有錯誤/錯誤時是否有一些情況?

編輯
這發生在服務器上。我也有我的本地計算機上運行完全相同的文件(只是比較器檢查),其中插件有所有的按鈕。我現在正在尋找數據庫來尋找差異,但迄今爲止還沒有發現任何重要的東西。

回答

3

聽起來像一個文件權限錯誤,請確保網絡服務器正在運行的(通常是WWW的數據或類似)的用戶有寫權限的插件文件。

+0

謝謝,該網站在* nix上運行,我在plugins文件夾和所有子文件夾+文件上設置了775的權限,但似乎沒有幫助。還是我應該做點別的? – Priednis 2012-03-14 12:24:36

+0

我在[wordpress.stackexchange.com](http://wordpress.stackexchange.com/a/45539/11156)上得到了一個指向'is_writable'函數的答案,它真的返回false。所以我現在正在與管理員澄清... – Priednis 2012-03-14 19:02:15

+1

編輯按鈕再次出現後給予文件更多的權限。 – Priednis 2012-03-16 15:54:09

1

這些「按鈕」被稱爲「plugin_action_links」,並且/可以由插件的作者設置。

一些插件作者選擇不包括「設置」。

如果您已更新插件,可能是新版本不包括?

插件本身是否工作?

它與其他網站上的版本完全相同嗎?

至於「編輯」鏈接 - 它也可以設置爲不顯示或通過與用戶的權限或鏈接可見性(如adminimize例如)

做第三方插件被禁用例如如何禁用這些鏈接的插件作者:

add_filter('plugin_action_links', 'disable_plugin_footlinks', 10, 4); 
function disable_plugin_footlinks($actions, $plugin_file, $plugin_data, $context) { 
    // Remove edit link. if you want to remove selective use if statement 
    if (array_key_exists('edit', $actions)) 
     unset($actions['edit']); 
    // Selectively remove deactivate link for specific plugins with if statement 
    if (array_key_exists('deactivate', $actions) && in_array($plugin_file, array(
     'plugin1_specific_name_folder_/plugin1_name.php', 
     'plugin2_name_folder_/plugin2_name.php' 
    ))) 
     unset($actions['deactivate']); 
    return $actions; 
} 
+0

我編輯了關於本地計算機上相同文件的文本。 – Priednis 2012-03-14 13:36:34

+0

你的OP是關於可能的場景 - 但無論如何它並不重要,如果它在服務器上或本地 - 唯一重要的是如果wp安裝和插件在兩個(包括設置)上都相同 - 當然,停用所有插件 - 恢復爲默認主題 - 然後查看默認插件(如askimet或hello-dolly)是否具有相同的錯誤。 – krembo99 2012-03-14 13:47:11

+0

插件本身也無法正常工作,但我找到了原因:服務器運行PHP4,並且插件具有'__construct()'樣式構造函數,這些構造函數無法識別。不得不添加'function ClassName(){this - > __ construct(); }'的功能來糾正這一點。感謝您的支持! – Priednis 2012-03-16 15:56:01