get_active_blog_for_user [ WordPress Function ]
| Parameters: |
|
| Uses: | |
| Returns: |
|
| Defined at: |
|
Get one of a user's active blogs
Returns the user's primary blog, if she has one and it is active. If it's inactive, function returns another active blog of the user. If none are found, the user is added as a Subscriber to the Dashboard Blog and that blog is returned.
Source
<?php
function get_active_blog_for_user( $user_id ) {
global $wpdb;
$blogs = get_blogs_of_user( $user_id );
if ( empty( $blogs ) )
return null;
if ( !is_multisite() )
return $blogs[$wpdb->blogid];
$primary_blog = get_user_meta( $user_id, 'primary_blog', true );
$first_blog = current($blogs);
if ( false !== $primary_blog ) {
if ( ! isset( $blogs[ $primary_blog ] ) ) {
update_user_meta( $user_id, 'primary_blog', $first_blog->userblog_id );
$primary = get_blog_details( $first_blog->userblog_id );
} else {
$primary = get_blog_details( $primary_blog );
}
} else {
//TODO Review this call to add_user_to_blog too - to get here the user must have a role on this blog?
add_user_to_blog( $first_blog->userblog_id, $user_id, 'subscriber' );
update_user_meta( $user_id, 'primary_blog', $first_blog->userblog_id );
$primary = $first_blog;
}
if ( ( ! is_object( $primary ) ) || ( $primary->archived == 1 || $primary->spam == 1 || $primary->deleted == 1 ) ) {
$blogs = get_blogs_of_user( $user_id, true ); // if a user's primary blog is shut down, check their other blogs.
$ret = false;
if ( is_array( $blogs ) && count( $blogs ) > 0 ) {
foreach ( (array) $blogs as $blog_id => $blog ) {
if ( $blog->site_id != $wpdb->siteid )
continue;
$details = get_blog_details( $blog_id );
if ( is_object( $details ) && $details->archived == 0 && $details->spam == 0 && $details->deleted == 0 ) {
$ret = $blog;
if ( get_user_meta( $user_id , 'primary_blog', true ) != $blog_id )
update_user_meta( $user_id, 'primary_blog', $blog_id );
if ( !get_user_meta($user_id , 'source_domain', true) )
update_user_meta( $user_id, 'source_domain', $blog->domain );
break;
}
}
} else {
return null;
}
return $ret;
} else {
return $primary;
}
}
?>
Examples [ wp-snippets.com ]
Top Google Search Results
- WPMU Functions/get active blog for user « WordPress Codex
Description. Gets an active blog for user, either primary blog or from blogs list. Parameters. $user_id: (cast) (required) The user id to look up. Default: None ...
codex.wordpress.org - Function Reference/get active blog for user « WordPress Codex
Description. Get one of a user's active blogs. Returns the user's primary blog, if she has one and it is active. If it's inactive, function returns another active blog of ...
codex.wordpress.org - errors get_active_blog_for_user()
I am new to WPMUDev and could not get ANY pre-sale questions. So I had to purchases - and here are the first errors: Fatal error: Call to undefined fu.
premium.wpmudev.org - get_active_blog_for_user (WordPress Function) - WPSeek.com
WordPress lookup for get_active_blog_for_user, a WordPress Function. wpseek. com is a WordPress-centric search tool for developers and theme authors.
wpseek.com