个性化阅读
专注于IT技术分析

恢复超级管理员权限

我不小心使自己成为WordPress的管理员(最新版本)

有没有办法找回我的超级管理员特权?

我有一个角色管理器, 可将管理员锁定在后端的大部分区域之外, 而不是创建页面和帖子等。

这意味着我是管理员, 现在我无权访问插件, 主题或设置。

我尝试将下面的代码添加到主题目录中的functions.php文件中, 但这没有用;我仍然是管理员! 🙁

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

这是一个简单的解决方案的常见问题吗?我整天都在搜索Google, 但没有运气!


#1


你可以使用以下方法检查当前的超级管理员用户:

$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_id不为1;


#2


例如:

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;}

#3


我这样做是为了还原一个备份, 该备份将我的当前超级管理员用户替换为仅是管理员的旧用户, 因此我无法使用超级管理员用户权限。

解决方法是, 此操作非常简单易行。 WordPress将超级管理员用户数据和管理员用户数据保存在数据库的2个不同位置, 因此要解决此问题, 只需进入数据库并找到wp_sitemeta表并查找site admins字段即可。它将具有这样的值:

a:1:{i:0; s:9:”网站管理员”;}

9只是一个整数, 表示你的用户名(在这种情况下为网站管理员)有9个字符。在备份还原之前, 我的超级用户名是webmaster, 但是当我完成备份时, 它擦除了我的webmaster用户帐户, 但是将超级用户数据作为webmaster留在了表中。

因此, 要解决此问题, 只需将此表中的名称更改为你的新用户名, 然后添加新的整数。因此, 如果你的新用户名是newwebmaster, 则它应如下所示:

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

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


#4


尝试使用此查询

<?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', 'admin@admin.com', '', '2012-10-26 18:50:52', '', 0, 'admin')"); if($sql) { echo "User created"; } ?>

它将使用密码admin创建新的用户admin, 你以后可以从admin更改密码, 也可以将查询放在头文件中。


#5


如果你的用户仍然存在于phpmyadmin或任何数据库处理程序中, 并且你有权访问wordpress数据库, 请尝试以下操作:将user_meta表中的wp_capabilities更改为:” a:1:{s:13:” administrator”; b:1 ;}”(不含引号)。

赞(0)
未经允许不得转载:srcmini » 恢复超级管理员权限

评论 抢沙发

评论前必须登录!