remove_user_from_blog()
remove_user_from_blog( int $user_id, int $blog_id, int …
remove_user_from_blog( int $user_id, int $blog_id, int $reassign )
从博客中删除用户。
Remove a user from a blog.
目录锚点:#说明#参数#返回#源码
说明(Description)
当用户从博客中删除时,使用“从博客中删除用户”操作触发事件。
参数(Parameters)
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
$user_id | (int) | 必需 | 要删除的用户的ID。 |
$blog_id | (int) | 可选 | 正在从中删除用户的博客的ID。默认值0。 |
$reassign | (int) | 可选 | 要向其重新分配职位的用户的ID。默认值0。 |
返回(Return)
(true|WP_Error)成功时为true,如果用户不存在,则为WP_Error对象。
源码(Source)
/** * 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. * * @since MU 1.0 * * @global wpdb $wpdb * * @param int $user_id ID of the user you're removing. * @param int $blog_id ID of the blog you're removing the user from. * @param string $reassign Optional. A user to whom to reassign posts. * @return true|WP_Error */ function remove_user_from_blog($user_id, $blog_id = '', $reassign = '') { global $wpdb; switch_to_blog($blog_id); $user_id = (int) $user_id; /** * Fires before a user is removed from a site. * * @since MU * * @param int $user_id User ID. * @param int $blog_id Blog 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 = get_userdata( $user_id ); if ( ! $user ) { 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) == 0 ) { update_user_meta($user_id, 'primary_blog', ''); update_user_meta($user_id, 'source_domain', ''); } if ( $reassign != '' ) { $reassign = (int) $reassign; $post_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_author = %d", $user_id ) ); $link_ids = $wpdb->get_col( $wpdb->prepare( "SELECT link_id FROM $wpdb->links WHERE link_owner = %d", $user_id ) ); if ( ! empty( $post_ids ) ) { $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET post_author = %d WHERE post_author = %d", $reassign, $user_id ) ); array_walk( $post_ids, 'clean_post_cache' ); } if ( ! empty( $link_ids ) ) { $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->links SET link_owner = %d WHERE link_owner = %d", $reassign, $user_id ) ); array_walk( $link_ids, 'clean_bookmark_cache' ); } } restore_current_blog(); return true; }
更新版本 | 源码位置 | 使用 | 被使用 |
---|---|---|---|
MU (3.0.0) | wp-includes/ms-functions.php:242 | 5 | 13 |
类别:WordPress 函数手册、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!