2013-03-21 206 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";}

这应该恢复你的超级管理员权限