워드프레스 사용자를 관리자로 변경
프로덕션 워드프레스 블로그의 로컬 복사본을 설정하려고 합니다.생산 중에는 사용자이지만 관리자가 아니기 때문에 로컬에서 관리자로 변경하려고 합니다.저는 관리자가 되기 위해 이 블로그 게시물의 지시를 따르고 있었기 때문에 다음과 같은 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 테이블을 참조하십시오.
내 wp_user 메타테이블을 봅니다.
다음과 같은 두 개의 쿼리가 실행됩니다.
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
'itsource' 카테고리의 다른 글
MySql 명령줄 클라이언트를 사용하여 다른 포트에 연결 (0) | 2023.10.14 |
---|---|
MySQL B+tree와 비교하여 btree 인덱스의 포스트그레스 사용 (0) | 2023.10.14 |
Power GUI가 출력을 자르지 않도록 방지 (0) | 2023.10.14 |
mysql 또는 php에서 'u00e9'를 utf8 char로 변환하는 방법은 무엇입니까? (0) | 2023.10.14 |
MariaDB 10.0은 덤프 삽입 시 외부 키 이름을 바꿉니다. (0) | 2023.10.09 |