2010-04-12 26 views
27

我有一個wordpress腳本,wp-supercache,我需要禁用(因爲它的緩存錯誤),但是,錯誤導致wp-admin重定向失敗,這意味着我無法進入網站禁用該插件。WordPress停用通過數據庫的插件?

有什麼建議嗎?我可以通過cPanel訪問數據庫。

回答

27

嘗試重新命名該插件的文件夾,然後查看錯誤是否消失(首先進行備份)。如果沒有幫助,here is the solution然後。

+0

刪除plugins文件夾太多。只需重新命名它,如下面這個答案中所述。 – 2014-09-02 07:29:44

+0

@MarcoPanichi:正確地指出,更新,thx – Sarfraz 2014-09-02 10:37:02

13

您只需重命名/ wp-content/plugins /中的文件夾,插件將自動取消激活。一旦它被禁用,您將可以登錄。

+0

這工作正常我..我安裝了captcha插件,無法進入管理區...我只是去了文件管理器,並重命名插件文件夾的名稱...並且插件被取消激活 – AutoMEta 2013-06-23 18:23:10

+0

這將在大多數情況下工作,但有時插件會進行更改,只有通過UI卸載時纔會回滾..即使用[register_uninstall_hook](http://codex.wordpress.org/Function_Reference/register_uninstall_hook)。 – 2013-10-28 03:58:33

+0

@StevendeSalas:問題是關於如何禁用打破管理界面的插件。如果他們無法登錄到用戶界面,他們將無法使用它來卸載該插件。 – user183037 2013-10-29 04:11:41

1

要禁用網站上的所有的WordPress插件:

  1. 登錄到你的數據庫管理工具(如的phpMyAdmin)
  2. 執行以下查詢:

UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins';

+1

這適用於WordPress 2.9和後面。對於比2.9更新的版本,正確的SQL是'UPDATE wp_options SET option_value ='a:0:{}'WHERE option_name ='active_plugins';'因爲這裏提到了http://perishablepress.com/quickly-disable-or- enable-all-wordpress-plugins-via-the-database/ – 2014-12-18 20:52:47

17

要禁用一個特定的插件,你必須將它從存儲所有插件列表的序列化字符串中移除 - 這是在option_value co中設置的由@TimDurden討論的wp_options表的列。你必須做出的具體格式的變化是,taken shamelessly from teh Internet

a:4:{ 
    i:0;s:19:"akismet/akismet.php"; 
    i:1;s:36:"google-sitemap-generator/sitemap.php"; 
    i:2;s:55:"google-syntax-highlighter/google_syntax_highlighter.php"; 
    i:3;s:29:"wp-swfobject/wp-swfobject.php"; 
} 

的字符的第一套 - a:4 - 指定數組和它的長度。還要注意,插件列表中的每一行都有一個索引。所以:

  1. 遞減(在這種情況下,從4比3)指數
  2. 在每一行,遞減i:
  3. 後的數字刪除要禁用特定的插件。

更新使用從這些步驟構建新的字符串的分貝值:

update wp_options set option_value=<new value> where option_id=<id of this option> 

請注意,你的表名可能不wp_options - 你可能有一個前綴的補充。

0

遲到的答案,但會回答,因爲這對未來某個人有用。所有插件都以序列化的方式存儲在wp_options表中。你可以手動編輯這個字段。或者,如果您使用unserialize()在php中使用函數反序列化它,您將獲得一個數組。只需修改它即可刪除要從該陣列中刪除的插件,並將其序列化回來。然後更新表格。而已。如果你想知道更多關於它here是一個很好的文章。它解釋了這一切。

1

另一種方法是,您可以備份網站,然後只需將/ wp-content/plugins /下的插件文件夾重命名爲其他名稱即可。所以插件將被禁用。 我不喜歡刪除插件文件夾,因爲它可能會導致錯誤。 完成這一步之後,登錄到您的WordPress站點並從那裏刪除插件

2

我在.dot中編寫了一個小的exe來修復/刪除數據庫中的選項字符串。

  1. 下載EXE here
  2. MySQL服務器

SELECT * FROM wp_options WHERE OPTION_NAME = 'active_plugins' 上運行;

  1. 將結果粘貼到文本框中,按解析。
  2. 刪除你不想要的。
  3. 點擊輸出,它複製輸出到剪貼板
  4. 與輸出代替單引號內支架下方和MySQL服務器上運行SET請將option_value

UPDATE wp_options =「[單引號和您的輸出替換'WHERE option_name ='active_plugins';

  • 沒有保證......我不宣稱自己是程序員
  • enter image description here

    1

    使用此代碼,你可以從functions.php激活你的插件:

    function activate_plugin_via_php() { 
        $active_plugins = get_option('active_plugins'); 
        array_push($active_plugins, 'unyson/unyson.php'); /* Here just replace unyson plugin directory and plugin file*/ 
        update_option('active_plugins', $active_plugins); 
    } 
    add_action('init', 'activate_plugin_via_php'); 
    
    +0

    ** Guidlunes給你** 'unyson: - 它的插件文件夾名稱 unyson.php: - 插件主文件 如果你想激活多個一次插入一個插件 然後只需重複array_push($ active_plugins,'unyson/unyson.php'); 使用插件文件夾名稱和php文件.' – 2016-07-16 18:43:51

    1

    您只需要更改數據庫中記錄「active_plugins」中的值。你可以找到進程Here

    1
    1. 備份數據庫或只是wp_options表
    2. SELECT請將option_value FROM wp_options WHERE OPTION_NAME = 'active_plugins';

    3. 選擇複製串(序列化字符串),並在左側粘貼在https://serializededitor.com/
    4. 刪除您想從右側關閉
    5. 複製序列化的結果字符串和更新active_plugins值插件線用它。

      UPDATE wp_options SET請將option_value = 'THE_NEW_SERIALIZED_STRING' WHERE OPTION_NAME = 'active_plugins' LIMIT 1;