wordpress 恢复超级管理员权限

jgzswidk  于 2022-11-28  发布在  WordPress
关注(0)|答案(7)|浏览(324)

我不小心在WordPress(最新版本)中将自己设为管理员
有没有办法恢复我的超级管理员权限?
我有一个角色管理器,它将管理员锁定在后端的大多数区域之外,而不是创建页面和帖子等。
这意味着我现在是管理员,无法访问插件、主题或设置。
我试着将下面的代码添加到主题目录中的functions.php文件中,但是没有成功;我仍然是一个管理员!:(

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

这是一个常见的问题,有一个简单的解决方案?我已经搜索了谷歌一整天没有运气!

pqwbnv8z

pqwbnv8z1#

您可以通过以下方式检查当前的 * 超级管理员 * 用户:

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

gpnt7bae

gpnt7bae2#

例如:

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。将其替换为“administrator”。

a:1:{s:13:"administrator";b:1;}
2o7dmzc5

2o7dmzc53#

我这样做是为了恢复一个备份,它替换了我当前的超级管理员用户,用一个只是管理员的旧用户,所以我被锁定在我的超级管理员用户权限之外。
WordPress在数据库中将超级管理员用户数据和管理员用户数据分别保存在两个不同的地方,所以要解决这个问题,只需进入数据库,找到wp_sitemeta表,然后查找站点管理员字段。它的值如下所示:
a:1:{i:0;s:9:"webmaster";}
9只是一个整数,表示您的用户名,在本例中是webmaster,有9个字符。在备份恢复之前,我的超级管理员用户名是webmaster,但当我完成备份时,它擦除了我的webmaster用户帐户,但在表中留下了超级用户数据webmaster
因此,要解决这个问题,只需将此表中的名称更改为您的新用户名,并添加新的整数。因此,如果您的新用户名是newwebmaster,则它应该如下所示:
a:1{i:0;s:12:"newwebmaster";}
这将恢复您的超级管理员权限

0kjbasz6

0kjbasz64#

如果您的用户仍然存在于phpmyadmin或任何数据库处理程序中,并且您可以访问wordpress数据库,那么请尝试以下操作:将user_ meta表中的wp_capabilities更改为:

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

hgncfbus5#

尝试使用以下查询

<?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更改密码,您可以将查询放在头文件中。

4sup72z8

4sup72z86#

我有一个类似的问题,我失去了我的管理员权限,因为我的帐户更改为客户。我尝试了以上所有,发现rankmath添加了一些行,如下面:

a:5{s:15:"wpseo_bulk_edit";b:1;s:28:"wpseo_edit_advanced_metadata";b:1;s:22:"wpseo_manage_redirects";b:1;s:23:"view_site_health_checks";b:1;a:1:{s:8:"customer";b:1;}

到wp_capabilities,当我改变a:1:{s:13:"administrator";b:1;}时,它不起作用,当我把这行移到开头后,它确实对我起作用了,如下所示:

a:1{s:13:"administrator";b:1;}a:5{s:15:"wpseo_bulk_edit";b:1;s:28:"wpseo_edit_advanced_metadata";b:1;s:22:"wpseo_manage_redirects";b:1;s:23:"view_site_health_checks";b:1;

希望这能帮助任何和我有同样问题的人。

n3h0vuf2

n3h0vuf27#

如果您可以访问wpcli,那么您可以这样做,而无需使用 meta表和序列化的功能数组。

wp super-admin add yourUserName

如果你没有访问wpcli的权限,而你在运行if安装,你绝对应该费心去设置它。它的用处是惊人的。但是在一个临时站点上练习使用它;像电锯一样有力。

相关问题