bp_nouveau_activity_scope_newest_class( $classes = '' )
Add class to newest activities by type.
Description
Source
File: bp-templates/bp-nouveau/includes/activity/functions.php
427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 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 497 498 499 500 501 502 503 504 505 | function bp_nouveau_activity_scope_newest_class( $classes = '' ) { if ( ! is_user_logged_in() ) { return $classes ; } $user_id = bp_loggedin_user_id(); $my_classes = array (); /* * HeartBeat requests will transport the scope. * See bp_nouveau_ajax_querystring(). */ $scope = '' ; if ( ! empty ( $_POST [ 'data' ][ 'bp_heartbeat' ][ 'scope' ] ) ) { $scope = sanitize_key( $_POST [ 'data' ][ 'bp_heartbeat' ][ 'scope' ] ); } // Add specific classes to perform specific actions on the client side. if ( $scope && bp_is_activity_directory() ) { $component = bp_get_activity_object_name(); /* * These classes will be used to count the number of newest activities for * the 'Mentions', 'My Groups' & 'My Connections' tabs */ if ( 'all' === $scope ) { if ( 'groups' === $component && bp_is_active( $component ) ) { // Is the current user a member of the group the activity is attached to? if ( groups_is_user_member( $user_id , bp_get_activity_item_id() ) ) { $my_classes [] = 'bp-my-groups' ; } } // Connections can post in groups the user is a member of if ( bp_is_active( 'friends' ) && (int) $user_id !== (int) bp_get_activity_user_id() ) { if ( friends_check_friendship( $user_id , bp_get_activity_user_id() ) ) { $my_classes [] = 'bp-my-friends' ; } } // A mention can be posted by a friend within a group if ( true === bp_activity_do_mentions() ) { $new_mentions = bp_get_user_meta( $user_id , 'bp_new_mentions' , true ); // The current activity is one of the new mentions if ( is_array ( $new_mentions ) && in_array( bp_get_activity_id(), $new_mentions ) ) { $my_classes [] = 'bp-my-mentions' ; } } /* * This class will be used to highlight the newest activities when * viewing the 'Mentions', 'My Groups' or the 'My Connections' tabs */ } elseif ( 'friends' === $scope || 'groups' === $scope || 'mentions' === $scope ) { $my_classes [] = 'newest_' . $scope . '_activity' ; } // Leave other components do their specific stuff if needed. /** * Filters the classes to be applied to the newest activity item. * * Leave other components do their specific stuff if needed. * * @since BuddyPress 3.0.0 * * @param array $my_classes Array of classes to output to class attribute. * @param string $scope Current scope for the activity type. */ $my_classes = ( array ) apply_filters( 'bp_nouveau_activity_scope_newest_class' , $my_classes , $scope ); if ( ! empty ( $my_classes ) ) { $classes .= ' ' . join( ' ' , $my_classes ); } } return $classes ; } |
Changelog
Version | Description |
---|---|
BuddyPress 3.0.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.