wordpress - How to change author list in Authors dropdown in edit page display all user role if user logged as admin type of rol

Author dropdownI am using classic editor and in edit page herer is a 'Author' dropdown and I

Author dropdown

I am using classic editor and in edit page herer is a 'Author' dropdown and I want to modify value of this edit page (post type = 'page') authors dropdown. I want to show all users in this author dropdown of in edit page only when user logged as Admin/Administrator role type.

Want to change the list of users in the Author select dropdown on the edit page for Admin/Administrator role type users. I tried but not working for post type page.

I have 3 admin role user and when i logged as one of admin role type user i want all users are show in this author dropdown so admin can set any type of user as page(post type = page) author. currently by default only editors names are displaying in this author dropdown and i want to show all users.

I tried this without check user role but is not working for me in edit page in worpdress.

add_filter( 'wp_dropdown_users_args', 'change_user_dropdown', 10, 2 );

function change_user_dropdown( $query_args, $r ){
    // get screen object
    $screen = get_current_screen();

    // list users whose role is e.g. 'Author' for 'post' post type
    if( $screen->post_type == 'page' ):
        $query_args['role'] = array('Author');

        // unset default role 
        unset( $query_args['who'] );
    endif;

    

    return $query_args;
}

Author dropdown

I am using classic editor and in edit page herer is a 'Author' dropdown and I want to modify value of this edit page (post type = 'page') authors dropdown. I want to show all users in this author dropdown of in edit page only when user logged as Admin/Administrator role type.

Want to change the list of users in the Author select dropdown on the edit page for Admin/Administrator role type users. I tried but not working for post type page.

I have 3 admin role user and when i logged as one of admin role type user i want all users are show in this author dropdown so admin can set any type of user as page(post type = page) author. currently by default only editors names are displaying in this author dropdown and i want to show all users.

I tried this without check user role but is not working for me in edit page in worpdress.

add_filter( 'wp_dropdown_users_args', 'change_user_dropdown', 10, 2 );

function change_user_dropdown( $query_args, $r ){
    // get screen object
    $screen = get_current_screen();

    // list users whose role is e.g. 'Author' for 'post' post type
    if( $screen->post_type == 'page' ):
        $query_args['role'] = array('Author');

        // unset default role 
        unset( $query_args['who'] );
    endif;

    

    return $query_args;
}
Share Improve this question edited Nov 20, 2024 at 4:33 Sunshine asked Nov 18, 2024 at 11:20 SunshineSunshine 32 bronze badges 2
  • what do you need in this dropdown is the user is not administrator ? – mmm Commented Nov 18, 2024 at 12:49
  • I have 3 admin role user and when i logged as one of admin role type user i want all users are show in this author dropdown so admin can set any type of user as page(post type page) author. currently by default admin can see editors name in this author dropdown. – Sunshine Commented Nov 19, 2024 at 4:04
Add a comment  | 

2 Answers 2

Reset to default 0
add_filter('wp_dropdown_users_args', function ($query_args, $r) {
if (current_user_can('administrator')) {
    unset($query_args['who']);
}
return $query_args;
}, 10, 2);

as you don't explain if there is something to change when non administrator users edit a page, here is my answer to change the author list when the connected user has the capability edit_others_pages. you can change it according to your needs.

note also that the filter wp_dropdown_users_args works only on classical editor (like we see it on your screenshot) and not on gutenberg editor.

add_filter("wp_dropdown_users_args", function ($query_args, $parsed_args) {
    
    // the capability "edit_others_pages" can be change to another linked at the reason of the customisation
    if (current_user_can("edit_others_pages")) {
        
        // remove the filter on capabilities to return all users
        unset($query_args["capability"]);
        
    }
    
    
    return $query_args;
    
}, 10, 2);

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745622347a4636595.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信