web-dev-qa-db-fra.com

Exclure le blog principal de get_blogs_of_user

J'utilise WordPress Multisite et dans la barre latérale, j'ai une boîte qui affiche une liste de blogs dont l'utilisateur connecté est membre.

Je cherche un moyen d'exclure le blog principal de cette liste.
L'ID principal du blog est 1

Voici des parties du code que j'utilise:

<?php // Gets user-info ?>
<?php global $current_user; get_currentuserinfo(); 
     $user_info = get_userdata(1); 
     $user_id = $current_user->ID; 
?> 

<?php // start the loop ?>
<?php $user_blogs = get_blogs_of_user( $user_id ); echo '<div>'; foreach ($user_blogs AS $user_blog) { echo '';?>

<?php // lists user blogs ?>
<?php echo ''.$user_blog->blogname.' '; ?>

Quelqu'un peut-il m'aider? :)

2
Demilio

Si vous supprimez cette ligne dans votre code, vous verrez toutes les propriétés de $ user_blogs.
echo '<pre>'.print_r($user_blogs,true).'</pre>';

L'un d'entre eux est userblog_id, il vous suffit donc de vérifier son contenu avant de lancer le blogname.

<?php 
$user_blogs = get_blogs_of_user( $user_id ); 
if (!$user_blogs) {
    echo 'no blogs';
} else {
    echo '<div><ul>'; 
    foreach ( $user_blogs as $user_blog ) {
        if ( $user_blog->userblog_id != get_current_blog_id() ) { 
            echo '<li>' . $user_blog->blogname . '</li>';
        }
    }
    echo '</ul></div>'; 
}
3
brasofilo