BP_Messages_Thread::get_messages( int $thread_id, $before = null, $perpage = 10 )
Get all messages associated with a thread.
Description
Parameters
- $thread_id
-
(Required) The message thread ID.
Return
(object) List of messages associated with a thread.
Source
File: bp-messages/classes/class-bp-messages-thread.php
452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 | public static function get_messages( $thread_id = 0, $before = null, $perpage = 10 ) { $thread_id = (int) $thread_id ; $cache_key = "{$thread_id}{$before}{$perpage}" ; $messages = wp_cache_get( $cache_key , 'bp_messages_threads' ); if ( false === $messages || static :: $noCache ) { // if current user isn't the recpient, then return empty array if ( ! static ::is_thread_recipient( $thread_id ) ) { wp_cache_set( $cache_key , [], 'bp_messages_threads' ); return []; } global $wpdb ; $bp = buddypress(); $last_deleted_id = static :: $last_deleted_message ? static :: $last_deleted_message ->id : 0; $last_deleted_timestamp = static :: $last_deleted_message ? static :: $last_deleted_message ->date_sent : '0000-00-00 00:00:00' ; if ( ! $before ) { $before = bp_core_current_time(); // $before = gmdate( 'Y-m-d H:i:s', ( time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS + 1 ) ) ); } // Always sort by DESC by default. $messages = $wpdb ->get_results( $sql = $wpdb ->prepare( "SELECT * FROM { $bp ->messages->table_name_messages} WHERE thread_id = %d AND id > %d AND date_sent > %s AND date_sent <= %s ORDER BY date_sent DESC, id DESC LIMIT %d ", $thread_id , $last_deleted_id , $last_deleted_timestamp , $before , $perpage ) ); wp_cache_set( $cache_key , ( array ) $messages , 'bp_messages_threads' ); } // Integer casting. foreach ( $messages as $key => $data ) { $messages [ $key ]->id = (int) $messages [ $key ]->id; $messages [ $key ]->thread_id = (int) $messages [ $key ]->thread_id; $messages [ $key ]->sender_id = (int) $messages [ $key ]->sender_id; } return $messages ; } |
Changelog
Version | Description |
---|---|
BuddyPress 2.3.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.