Je suis nouveau dans buddypress.
Mon problème est le suivant: j'ai créé un modèle pour obtenir la liste des membres basée sur le rôle
<?php if ( bp_has_members( bp_ajax_querystring( 'members' ). '&per_page=25&role=author' ) ) : ?>
<ul id="members-list" class="item-list row kleo-isotope masonry">
<?php while ( bp_members() ) : bp_the_member(); ?>
<li><a href="<?php bp_member_permalink(); ?>"><?php bp_member_avatar(); ?></a></li>
<?php endwhile; ?>
</ul>
Mais je ne reçois pas de liste d'utilisateurs basée sur le rôle. S'il vous plaît, aidez-moi et suggérez-moi une idée.
Pour préserver la pagination, essayez:
<?php
$authors = get_users( array( 'fields' => 'ID', 'role' => 'author' ) );
$authors = implode(',', $authors);
?>
<?php if ( bp_has_members( bp_ajax_querystring( 'members' ). '&per_page=25&include=' . $authors) ) : ?>
//etc
Si vous utilisez ce code directement sous while ( bp_members() ) : bp_the_member();
dans la boucle des membres, vous pourrez voir quels membres sont les auteurs.
<?php
$user_id = bp_get_member_user_id();
$user = new WP_User( $user_id );
if ( $user->roles[0] == 'author' ) {
echo 'this user is an author';
}
?>
Je sais que ce n’est pas exactement ce que vous aimeriez faire, mais cela devrait vous mettre sur la bonne voie.
Remarque: Ce code suppose que tous vos utilisateurs se voient attribuer un seul rôle.