사용자의 역할을 변경하는 방법은 무엇입니까?
9 대답
- 투표
-
- 2010-12-01
WP_User 클래스 를 참조하십시오.이를 사용하여 역할을 추가 및 제거 할 수 있습니다.사용자.
수정 : 처음에이 답변과 함께 더 많은 정보를 제공 했어야했기 때문에 아래에 더 많은 정보를 추가하겠습니다.
보다 구체적으로,WP_user 클래스의 인스턴스를 생성하고
add_role()
또는remove_role()
메소드를 호출하여 사용자의 역할을 설정할 수 있습니다.예
구독자 역할을 편집자로 변경
// NOTE: Of course change 3 to the appropriate user ID $u = new WP_User( 3 ); // Remove role $u->remove_role( 'subscriber' ); // Add role $u->add_role( 'editor' );
그게 도움이되지 않았던 초기 답변보다 도움이 되었기를 바랍니다.
See the WP_User class, you can use this to add and remove roles for a user.
EDIT: I really should have provided more information with this answer initially, so i'm adding more information below.
More specifically, a user's role can be set by creating an instance of the WP_user class, and calling the
add_role()
orremove_role()
methods.Example
Change a subscribers role to editor
// NOTE: Of course change 3 to the appropriate user ID $u = new WP_User( 3 ); // Remove role $u->remove_role( 'subscriber' ); // Add role $u->add_role( 'editor' );
Hopefully that's more helpful than my initial response, which wasn't necessarily as helpful.
-
`remove_role ()`및`add_rule ()`은 데이터베이스에 데이터를 저장합니까?`remove_role()` and `add_rule()` save data to the database?
- 0
- 2019-10-29
- b_dubb
-
예 @b_dubb,두 메서드 모두`update_user_meta ()`메서드 [여기] (https://developer.wordpress.org/reference/functions/update_user_meta/)를 통해 db에 저장됩니다.`add_role ()`[여기] (https://developer.wordpress.org/reference/classes/wp_user/add_role/) 및`remove_role ()`[여기] (https://developer.wordpress.org/reference를 참조하세요./classes/wp_user/remove_role/)Yes @b_dubb, both methods save to db through the `update_user_meta()` method [here](https://developer.wordpress.org/reference/functions/update_user_meta/). See `add_role()` [here](https://developer.wordpress.org/reference/classes/wp_user/add_role/) and `remove_role()` [here](https://developer.wordpress.org/reference/classes/wp_user/remove_role/)
- 1
- 2020-01-07
- Gonçalo Figueiredo
-
꽤 편리합니다.감사.That's pretty handy. Thanks.
- 0
- 2020-01-07
- b_dubb
-
`set_role ()`은 모든 역할을 제거하고 하나의 명령에 지정된 역할을 추가합니다.`set_role()` will remove all roles and add the specified role in one command
- 0
- 2020-04-18
- G-J
-
- 2015-06-14
사용자의 현재 역할을 모르는 경우 특히 유용한 사용자 역할을 변경하는 더 간단한 방법이 있습니다.
->set_role()
예 :
// Fetch the WP_User object of our user. $u = new WP_User( 3 ); // Replace the current role with 'editor' role $u->set_role( 'editor' );
Just note that there is a simpler way to change the user role which is especially helpful when you do not know the current role of the user:
->set_role()
Example:
// Fetch the WP_User object of our user. $u = new WP_User( 3 ); // Replace the current role with 'editor' role $u->set_role( 'editor' );
-
set_role은 사용자의 이전 역할을 제거하고 새 역할을 할당합니다.Remember that set_role will remove the previous roles of the user and assign the new role.
- 0
- 2016-05-03
- shasi kanth
-
이것은 사용자 지정 등록 양식에 적합합니다.먼저 역할이없는 사용자를 등록한 후 이메일 확인시 역할을 추가하십시오.This is perfect for custom registration forms. First register users with no roles and after that add role when they confirm email.
- 1
- 2017-09-15
- Ivijan Stefan Stipić
-
- 2012-10-29
조건에 따라 프로그래밍 방식으로이 작업을 수행하려면t31os의 답변을 추론하려면 함수 파일에 이와 같은 것을 입력 할 수 있습니다.
$blogusers = get_users($blogID.'&role=student'); foreach ($blogusers as $user) { $thisYear = date('Y-7'); $gradYear = date(get_the_author_meta( 'graduation_year', $user->ID ).'-7'); if($gradYear < $thisYear) { $u = new WP_User( $user->ID ); // Remove role $u->remove_role( 'student' ); // Add role $u->add_role( 'adult' ); } }
To extrapolate on t31os's answer you can slap something like this in your functions file if you want to do this programmatically based on a condition
$blogusers = get_users($blogID.'&role=student'); foreach ($blogusers as $user) { $thisYear = date('Y-7'); $gradYear = date(get_the_author_meta( 'graduation_year', $user->ID ).'-7'); if($gradYear < $thisYear) { $u = new WP_User( $user->ID ); // Remove role $u->remove_role( 'student' ); // Add role $u->add_role( 'adult' ); } }
-
'$blogID'사용이 잘못된 것 같습니다.[`get_users ()`] (http://codex.wordpress.org/Function_Reference/get_users)는 어쨌든 기본값에 따라 현재 블로그 ID를 사용합니다.I think your usage of `$blogID` is wrong. [`get_users()`](http://codex.wordpress.org/Function_Reference/get_users) will use the current blog ID per default anyway.
- 0
- 2012-10-29
- fuxia
-
네,제 경우에는 페이스트가 다중 사이트 예제에서 나온 것입니다.여기서도 정의하지 않았으므로 분명히 오류가 발생합니다.yep, in my case the paste was just from a multisite example. I didn't define it here either so obviously it would throw an error.
- 0
- 2012-11-26
- Adam Munns
-
- 2015-04-16
사용자 프로필을 수정하여 모든 사용자의 역할을 변경할 수 있습니다.이 옵션이 이미 WordPress에 내장되어 있으면 더 이상 코드를 추가 할 필요가 없습니다.
또는
코드를 사용하여 구독자 역할이있는 모든 현재 사용자를 편집자로 변경할 수 있습니다.
$current_user = wp_get_current_user(); // Remove role $current_user->remove_role( 'subscriber' ); // Add role $current_user->add_role( 'editor' );
You can change the role of any user by editing the users profile. No need to add any more code when this option is already built into WordPress.
Or
You could use code to change all current users with the subscriber role to editor:
$current_user = wp_get_current_user(); // Remove role $current_user->remove_role( 'subscriber' ); // Add role $current_user->add_role( 'editor' );
-
- 2010-12-01
그것을위한 WordPress 기능이 있습니다!
사용 가능한 경우 WordPress 기능을 사용하는 것이 가장 좋습니다.
필요한 인수 중 하나 인 wp_insert_user () 함수를 사용할 수 있습니다.제공하는 것은 $ userdata [ 'role']입니다.이 인수에서 사용자를 변경할 역할을 지정할 수 있습니다.
There's a WordPress function for that!
I think it is best to use WordPress functions, if and when they are available.
You can use the wp_insert_user() function, where one of the arguments that you will need to provide is the $userdata['role']. In this argument you can specify the role that you want to change the user into.
-
wp는 그 기능을 인식하지 못합니다."정의되지 않은 함수"오류가 발생했습니다.wp doesn't recognize that function. I got an "undefined function" error.
- 0
- 2010-12-01
- Joann
-
외관상 wp_insert_user ()는 똑같은 일을하는 것 같습니다.ID를 제공하면 해당 ID가 업데이트됩니다.새 사용자를 추가하는 ID가 없습니다.아직 wp_update_user ()와 wp_insert_user ()의 차이점이 무엇인지는 아직 모릅니다.By the looks of it, wp_insert_user() seems to do the exact same. When you provide an ID, that ID gets updated. No ID is adding new user. Don't really know what the difference between wp_update_user() and wp_insert_user() is, yet.
- 0
- 2010-12-01
- Coen Jacobs
-
-
- 2016-11-09
wp_update_user 를 사용할 수 있습니다.코드는 다음과 같습니다.
<?php $user_id = 3; $new_role = 'editor'; $result = wp_update_user(array('ID'=>$user_id, 'role'=>$new_role)); if ( is_wp_error( $result ) ) { // There was an error, probably that user doesn't exist. } else { // Success! } ?>
You can use wp_update_user. Your code shoud be like this:
<?php $user_id = 3; $new_role = 'editor'; $result = wp_update_user(array('ID'=>$user_id, 'role'=>$new_role)); if ( is_wp_error( $result ) ) { // There was an error, probably that user doesn't exist. } else { // Success! } ?>
-
- 2017-08-07
<?php $wuser_ID = get_current_user_id(); if ($wuser_ID) { // NOTE: Of course change 3 to the appropriate user ID $u = new WP_User( $wuser_ID ); // Remove role $u->remove_role( 'subscriber' ); // Add role $u->add_role( 'contributor' ); } ?>
<?php $wuser_ID = get_current_user_id(); if ($wuser_ID) { // NOTE: Of course change 3 to the appropriate user ID $u = new WP_User( $wuser_ID ); // Remove role $u->remove_role( 'subscriber' ); // Add role $u->add_role( 'contributor' ); } ?>
-
- 2019-03-27
매우 오래된 게시물이라는 것을 알고 있지만 사용자 역할이
meta_key
wp_capabilities 키와 함께wp_usermeta code> 테이블에 저장되어 있음을 발견했습니다. > 열
사용자 역할을 변경하려면이 간단한 기능을 사용하면됩니다.
함수 change_role ($id,$new_role) { GLOBAL $table_prefix; if (is_array ($new_role)) { $new_role_array=$new_role; }그밖에{ $new_role_array=array ($new_role=>true); } return update_user_meta ($id,$table_prefix.'capabilities ',$new_role_array); }
이 기능을 사용하는 방법은 두 가지입니다.
단일 역할의 역할을 변경하려는 경우
change_role (2,'editor');//편집자는 새로운 역할입니다.
또는 사용자에게 다중 역할을 추가하려면 두 번째 매개 변수에서 역할을 배열로 사용하십시오.
$ roles_array=array ( 'editor'=>true,'administrator'=>true);//역할 배열 change_role (2,$ roles_array);
행운을 빕니다.
I know its a very old Post, but i have found that the roles for users are stored in
wp_usermeta
table with keywp_capabilities
inmeta_key
column.If you want to change the user role you can do it by this simple function.
function change_role($id, $new_role){ GLOBAL $table_prefix; if(is_array($new_role)){ $new_role_array = $new_role; }else{ $new_role_array = array( $new_role => true ); } return update_user_meta($id, $table_prefix.'capabilities', $new_role_array); }
There is two way to use this function.
If you want to change the role for a single role.
change_role(2, 'editor'); // editor is the new role
Or if you want to add multi roles to the user, use the roles as array in the second parameter.
$roles_array = array('editor' => true, 'administrator' => true); // roles array change_role(2, $roles_array);
Good luck.
설정에 사용자 지정 역할이 있으며 기능을 통해 사용자의 역할을 자동으로 변경하고 싶습니다.사용자 A가 SUBSCRIBER 역할을 가지고 있다고 가정하면 어떻게 EDITOR로 변경합니까?역할을 추가 할 때 우리는 단지 :
역할을 변경하는 것은 어떻습니까?다음과 같은 것이 있습니까?
업데이트 : 나는 이것이 할 것이라고 생각한다 :