将wordpress用户更改为管理员

时间:2012-10-26 21:21:30

标签: wordpress

我正在尝试设置生产Wordpress博客的本地副本。在制作时,我是一个用户,但不是管理员,所以我试图将自己改为本地管理员。我正在关注this博文上的说明,以使自己成为管理员,因此我执行了以下SQL查询:

INSERT INTO usermeta(user_id,meta_key,meta_value) VALUES(376, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}');
INSERT INTO usermeta(user_id,meta_key,meta_value) VALUES(376, 'wp_user_level', 10);

然后我清除了浏览器Cookie并再次登录,但当我尝试导航到http://localhost/wp-admin时,我仍然“您没有足够的权限访问此页面。”我甚至删除了我的APC缓存文件并重新加载Nginx和PHP-FPM,这也没有改变任何东西。有没有人知道其他任何事情要尝试?

3 个答案:

答案 0 :(得分:9)

设置capabilitiesuser_level您的meta_key值需要与您的数据库前缀匹配。默认情况下,这是wp_(导致wp_capabilitieswp_user_level)但是在您的情况下它会有所不同,因为您没有前缀。正确的capabilities值为a:1:{s:13:"administrator";s:1:"1";}

-- delete any existing values for this user
DELETE FROM usermeta WHERE user_id=376 AND (meta_key LIKE '%capabilities' OR meta_key LIKE '%user_level')
-- insert the capabilities and user_level for user_id 376
INSERT INTO usermeta(user_id,meta_key,meta_value) VALUES(376, 'capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
INSERT INTO usermeta(user_id,meta_key,meta_value) VALUES(376, 'user_level', 10);

答案 1 :(得分:5)

以下是如何使用MySQL语句更改将用户分配到WordPress中的管理员角色:

-- Look at the field called "id" in the result set
---
select * from wp_users
where user_login = 'WORDPRESS_USERNAME_GOES_HERE';

-- Substitute the above "id" value in the "user_id" field below.
-- This is an integer value so do not use quotes around it
-- For example if the above "id" is the value 10 then the resulting line would be: where user_id = 10
-- 
update wp_usermeta
set meta_value = 'a:1:{s:13:"administrator";s:1:"1";}'
where user_id = USER_ID_GOES_HERE
and meta_key = 'wp_capabilities';

-- Lastly execute this statement remembering to substitute the same "id" value
update wp_usermeta
set meta_value = '10'
where user_id = USER_ID_GOES_HERE
and meta_key = 'wp_user_level';

答案 2 :(得分:4)

如果您已经拥有自己的用户名和密码,那么您只需要将功能和角色更新到数据库中。

转到wp_user表并从那里找到你的ID,即在我的情况下是2.然后转到wp_usermeta并查找meta_key = wp_capabilities和user_id - 2.编辑该行并将meta_value更改为

a:1:{s:13:"administrator";s:1:"1";}.

再次选择meta_key = wp_user_level和user_id = 2.编辑该行并将meta_value更改为10.不要更改user_id不属于您自己的其他行。

请参阅我的wp_users表。 Look for the ID

请参阅我的wp_usermeta表。 Look for capabilities and roles

将触发两个类似的查询:

UPDATE `wp_usermeta` SET `meta_value` = '10' WHERE `wp_usermeta`.`umeta_id` =27;

UPDATE `wp_usermeta` SET `meta_value` = 'a:1:{s:13:"administrator";s:1:"1";}' WHERE `wp_usermeta`.`umeta_id` =26;