itsource

워드프레스 사용자를 관리자로 변경

mycopycode 2023. 10. 14. 10:06
반응형

워드프레스 사용자를 관리자로 변경

프로덕션 워드프레스 블로그의 로컬 복사본을 설정하려고 합니다.생산 중에는 사용자이지만 관리자가 아니기 때문에 로컬에서 관리자로 변경하려고 합니다.저는 관리자가 되기 위해 이 블로그 게시물의 지시를 따르고 있었기 때문에 다음과 같은 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);

그런 다음 브라우저 쿠키를 지우고 다시 로그인했지만 다음으로 이동하려고 하면http://localhost/wp-admin"이 페이지에 액세스할 수 있는 권한이 부족합니다."라는 메시지가 여전히 표시됩니다.심지어 APC 캐시 파일을 삭제하고 Nginx와 PHP-FPM을 다시 로드하기까지 했는데, 이 또한 아무것도 바뀌지 않았습니다.다른 시도해 볼만한 것 아는 사람?

설정 방법capabilities그리고.user_level당신의.meta_key값은 데이터베이스 접두사와 일치해야 합니다.기본적으로 이것은wp_(resulting 인wp_capabilities그리고.wp_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);

MySQL 문을 사용하여 워드프레스의 관리자 역할에 사용자 할당을 변경하는 방법은 다음과 같습니다.

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

사용자 이름과 암호가 이미 있는 경우 데이터베이스에 기능과 역할을 업데이트하면 됩니다.

wp_user 테이블로 이동하여 거기서 ID를 찾습니다. 즉, 제 경우에는 2입니다.그런 다음 wp_usermeta로 이동하여 meta_key = wp_capabilities and 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_user 메타테이블을 봅니다.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;

언급URL : https://stackoverflow.com/questions/13094601/changing-a-wordpress-user-to-an-admin

반응형