Private Messages Loop

The private messages loop can be used to output a user’s private messages, both from their inbox and sentbox.

Standard Loop Standard Loop

[sourcecode language=”php”]
<?php if ( bp_has_message_threads() ) : ?>

<div class="pagination-count">
<?php bp_messages_pagination_count() ?>
</div>

<div class="pagination-links">
<?php bp_messages_pagination() ?>
</div>

<ul id="message-threads">
<?php while ( bp_message_threads() ) : bp_message_thread(); ?>

<li>
<!– Example template tags you can use –>
<?php bp_message_thread_id() ?>
<?php bp_message_thread_has_unread() ?>
<?php bp_message_thread_unread_count() ?>
<?php bp_message_thread_avatar() ?>
<?php bp_message_thread_from() ?>
<?php bp_message_thread_last_post_date() ?>
<?php bp_message_thread_view_link() ?>
<?php bp_message_thread_subject() ?>
<?php bp_message_thread_excerpt() ?>
<?php bp_message_thread_delete_link() ?>
</li>
<?php endwhile; ?>
</ul>

<?php else: ?>

<div id="message" class="info">
<p>There are no messages to display.</p>
</div>

<?php endif;?>
[/sourcecode]

Top ↑

Accepted Parameters Accepted Parameters

The bp_has_message_threads() function will accept a number of parameters that will manipulate the data being returned.

  • user_id optional

    The ID of the user to fetch messages for. By default this will be the user_id of the user currently logged in.

    • Default value: $bp->loggedin_user->id
  • box optional

    Which box should the loop display messages from?

    • Accepted arguments: inbox, sentbox, notices
    • Default value: inbox
  • per_page optional

    The number of messages to display on a page before they are paginated to the next page.

    • Default value: 10
  • max optional

    The total number of messages to return.

    • Default value: false (no limit)

Top ↑

Advanced Usage Advanced Usage

Fetch inbox messages for the user of ID 12. Get a maximum of 5 messages.

[sourcecode language=”php”]
<?php if ( bp_has_message_threads( ‘user_id=12&box=inbox&amp;max=5&amp;amp;per_page=5’ ) ) : ?>
[/sourcecode]