Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
01/07/2023 12:42:51 AM (3 years ago)
Author:
espellcaste
Message:

Activity: adding test to confirm BP_Activity_Activity::get returns the proper data when using the meta_query argument.

See #8556

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-activity/classes/class-bp-activity-activity.php

    r13372 r13396  
    10501050     * @since 1.8.0
    10511051     *
     1052     * @global wpdb $wpdb WordPress database object.
     1053     *
    10521054     * @param array $meta_query An array of meta_query filters. See the
    10531055     *                          documentation for WP_Meta_Query for details.
     
    10571059        global $wpdb;
    10581060
     1061        // Default array keys & empty values.
    10591062        $sql_array = array(
    10601063            'join'  => '',
     
    10621065        );
    10631066
    1064         if ( ! empty( $meta_query ) ) {
    1065             $activity_meta_query = new WP_Meta_Query( $meta_query );
    1066 
    1067             // WP_Meta_Query expects the table name at
    1068             // $wpdb->activitymeta.
    1069             $wpdb->activitymeta = buddypress()->activity->table_name_meta;
    1070 
    1071             $meta_sql = $activity_meta_query->get_sql( 'activity', 'a', 'id' );
    1072 
    1073             // Strip the leading AND - BP handles it in get().
    1074             $sql_array['where'] = preg_replace( '/^\sAND/', '', $meta_sql['where'] );
    1075             $sql_array['join']  = $meta_sql['join'];
    1076         }
     1067        // Bail if no meta query.
     1068        if ( empty( $meta_query ) ) {
     1069            return $sql_array;
     1070        }
     1071
     1072        $bp                  = buddypress();
     1073        $activity_meta_query = new WP_Meta_Query( $meta_query );
     1074
     1075        // WP_Meta_Query expects the table name at $wpdb->activitymeta.
     1076        $wpdb->activitymeta = $bp->activity->table_name_meta;
     1077
     1078        $meta_sql = $activity_meta_query->get_sql( 'activity', 'a', 'id' );
     1079
     1080        // Strip the leading AND - BP handles it in get().
     1081        $sql_array['where'] = preg_replace( '/^\sAND/', '', $meta_sql['where'] );
     1082        $sql_array['join']  = $meta_sql['join'];
    10771083
    10781084        return $sql_array;
Note: See TracChangeset for help on using the changeset viewer.