xprofile_filter_comments( array $comments, int $post_id )
Ensures that BP data appears in comments array.
Description
This filter loops through the comments return by a normal WordPress request and swaps out user data with BP xprofile data, where available.
Parameters
- $comments
-
(Required) Comments to filter in.
- $post_id
-
(Required) Post ID the comments are for.
Return
(array) $comments
Source
File: bp-xprofile/bp-xprofile-filters.php
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 | function xprofile_filter_comments( $comments , $post_id = 0 ) { // Locate comment authors with WP accounts. foreach ( ( array ) $comments as $comment ) { if ( $comment ->user_id ) { $user_ids [] = $comment ->user_id; } } // If none are found, just return the comments array. if ( empty ( $user_ids ) ) { return $comments ; } // Pull up the xprofile fullname of each commenter. if ( $fullnames = bp_core_get_user_displaynames( $user_ids ) ) { foreach ( ( array ) $fullnames as $user_id => $user_fullname ) { $users [ $user_id ] = trim( stripslashes ( $user_fullname ) ); } } // Loop through and match xprofile fullname with commenters. foreach ( ( array ) $comments as $i => $comment ) { if ( ! empty ( $comment ->user_id ) ) { if ( ! empty ( $users [ $comment ->user_id ] ) ) { $comments [ $i ]->comment_author = $users [ $comment ->user_id ]; } } } return $comments ; } |
Changelog
Version | Description |
---|---|
BuddyPress 1.2.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.