2013-03-21 178 views
1

我不小心自己做了一個管理員在WordPress(最新版本)恢復超級管理員權限

是否有辦法找回我的超級管理員權限

我有一個鎖定管理員出比創建網頁和帖子等

這意味着我沒有訪問插件,主題或設置其他後端的大部分地區的角色管理,現在我是一名管理員。

我試着將下面的代碼爲functions.php文件中的主題目錄,但這並沒有工作;我仍然是一名管理員! :(

include(ABSPATH . 'wp-admin/includes/ms.php'); 
$user = get_userdatabylogin('myusername'); 
grant_super_admin(1); 

這是一個簡單的解決一個共同的問題?我一直在谷歌搜索了一整天,沒有運氣!

+1

什麼是'回聲$用戶> ID的輸出;'在上面的代碼? – birgire 2013-03-21 05:43:00

回答

7

您可以檢查當前的超級管理員個用戶提供:

$super_admins = get_site_option('site_admins'); 
print_r($super_admins); 

,您可以手動更新超級管理員用戶

update_site_option('site_admins' , array('admin','john')); 

當用戶登錄是在數組中。


你可以在你的代碼,以防萬一也試試這個

grant_super_admin($user->ID); 

,而不是

grant_super_admin(1); 

user_id1;

+0

非常感謝這一個。我會試試這個讓我的其他配置文件回到超級管理員:) – msfirth 2013-03-21 14:42:45

+0

哪裏是最好的地方添加.. update_site_option('site_admins',array('admin','john')); 這段代碼需要在函數中嗎? – msfirth 2013-03-21 15:27:43

+0

因此,如果我想在失去它之後再次讓自己成爲超級管理員,那麼我會將它放在theme/functions.php頁面中。update_site_option('site_admins',array('admin','msfirth')); – msfirth 2013-03-21 15:55:06

0

嘗試使用此查詢

<?php $sql=mysql_query("INSERT INTO `wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES ('', 'admin', '$P$B3A1Uxuhu/BBEw2wPrkxJpXB5rcK5m.', 'admin', '[email protected]', '', '2012-10-26 18:50:52', '', 0, 'admin')"); if($sql) { echo "User created"; } ?> 

它會創建新用戶管理員密碼管理員您可以稍後從管理員更改密碼您可以將查詢放置在您的頭文件中

+0

它沒有工作。我剛剛檢查,似乎我有WordPress的版本3.4.2 – msfirth 2013-03-21 05:15:51

+0

我更新了代碼再試一次 – 2013-03-21 05:46:32

+0

這種工作。我安裝了3個不同的角色管理器,所以事情仍然不對。我仍然只被授予訪問權限。但我可以欺騙我的角色經理,使用這個新創建並管理的用戶重新分配超級管理員權限。 非常感謝您的幫助。非常感謝:o) – msfirth 2013-03-21 14:42:11

0

如果您的用戶仍然存在phpMyAdmin的或任何數據庫處理程序,你可以訪問WordPress數據庫,然後試試這個: 在user_meta表更改wp_capabilities到: 「一:1:{S:13:」管理員「; b:1;}」不帶引號。

1

EX:

select * from wp_options where option_name='wp_user_roles' 

select * from wp_usermeta where user_id=1 and meta_key='wp_capabilities' 

替換用戶ID與你的用戶ID。將其替換爲「管理員」。

a:1:{s:13:"administrator";b:1;} 
0

我這樣做是試圖恢復它取代我現在的超級管理員用戶,用舊的用戶誰只是一個管理員備份,所以我就鎖定了我的超級管理員用戶權限。

解決方法是非常簡單和容易的。 Wordpress將超級用戶數據和管理用戶數據保存在數據庫的兩個獨立位置,因此要解決這個問題只需進入數據庫並找到wp_sitemeta表並查找網站管理員字段。這將有這樣的值:

a:1:{i:0;s:9:"webmaster";}

的9只是一個整數,這意味着您的用戶名,在這種情況下站長,有9個字符。備份恢復之前,我的超級管理員用戶名是站長,但是當我完成備份它擦去我站長用戶帳戶,但離開了超級用戶數據如表站長

所以要解決這個問題,只需將該表中的名稱更改爲新用戶名,然後添加新的整數。所以,如果你的新用戶名是newwebmaster那麼就應該是這樣的:

a:1{i:0;s:12:"newwebmaster";}

這應該恢復你的超級管理員權限