Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




remove_user_from_blog [ WordPress Function ]

remove_user_from_blog ( $user_id, $blog_id = '', $reassign = '' )
Parameters:
  • (int) $user_id ID of the user you're removing.
  • (int) $blog_id ID of the blog you're removing the user from.
  • (string) $reassign Optional. A user to whom to reassign posts.
Returns:
  • (bool)
Defined at:



Remove a user from a blog.

Use the 'remove_user_from_blog' action to fire an event when users are removed from a blog.

Accepts an optional $reassign parameter, if you want to reassign the user's blog posts to another user upon removal.

Source


<?php
function remove_user_from_blog($user_id$blog_id ''$reassign '') {
    global 
$wpdb;
    
switch_to_blog($blog_id);
    
$user_id = (int) $user_id;
    
do_action('remove_user_from_blog'$user_id$blog_id);

    
// If being removed from the primary blog, set a new primary if the user is assigned
    // to multiple blogs.
    
$primary_blog get_user_meta($user_id'primary_blog'true);
    if ( 
$primary_blog == $blog_id ) {
        
$new_id '';
        
$new_domain '';
        
$blogs get_blogs_of_user($user_id);
        foreach ( (array) 
$blogs as $blog ) {
            if ( 
$blog->userblog_id == $blog_id )
                continue;
            
$new_id $blog->userblog_id;
            
$new_domain $blog->domain;
            break;
        }

        
update_user_meta($user_id'primary_blog'$new_id);
        
update_user_meta($user_id'source_domain'$new_domain);
    }

    
// wp_revoke_user($user_id);
    
$user = new WP_User($user_id);
    if ( ! 
$user->exists() ) {
        
restore_current_blog();
        return new 
WP_Error('user_does_not_exist'__('That user does not exist.'));
    }

    
$user->remove_all_caps();

    
$blogs get_blogs_of_user($user_id);
    if ( 
count($blogs) == ) {
        
update_user_meta($user_id'primary_blog''');
        
update_user_meta($user_id'source_domain''');
    }

    if ( 
$reassign != '' ) {
        
$reassign = (int) $reassign;
        
$wpdb->query$wpdb->prepare("UPDATE $wpdb->posts SET post_author = %d WHERE post_author = %d"$reassign$user_id) );
        
$wpdb->query$wpdb->prepare("UPDATE $wpdb->links SET link_owner = %d WHERE link_owner = %d"$reassign$user_id) );
    }

    
restore_current_blog();

    return 
true;
}
?>

Examples [ wp-snippets.com ]

Top Google zoekresultaten

Meer ...

Gebruikersdiscussies [ wordpress.org ]

0 User Note(s)

Nog geen één. Wees de eerste!

Nieuw toevoegen ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics