BP_Document::get_document_folder_meta_query_sql( array $meta_query = array() )

Get the SQL for the ‘meta_query’ param in BP_Document::get().

Description

We use WP_Meta_Query to do the heavy lifting of parsing the meta_query array and creating the necessary SQL clauses. However, since BP_Document::get() builds its SQL differently than WP_Query, we have to alter the return value (stripping the leading AND keyword from the ‘where’ clause).

Parameters

$meta_query

(Optional) An array of meta_query filters. See the documentation for WP_Meta_Query for details.

Default value: array()

Return

(array) $sql_array 'join' and 'where' clauses.

Source

File: bp-document/classes/class-bp-document.php

2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
public static function get_document_folder_meta_query_sql( $meta_query = array() ) {
    global $wpdb;
 
    $sql_array = array(
        'join'  => '',
        'where' => '',
    );
 
    if ( ! empty( $meta_query ) ) {
        $document_meta_query = new WP_Meta_Query( $meta_query );
 
        // WP_Meta_Query expects the table name at
        // $wpdb->document_meta.
        $wpdb->documentmeta = buddypress()->document->table_name_folder_meta;
 
        $meta_sql = $document_meta_query->get_sql( 'document_folder', 'f', 'id' );
 
        // Strip the leading AND - BP handles it in get().
        $sql_array['where'] = preg_replace( '/^\sAND/', '', $meta_sql['where'] );
        $sql_array['join']  = $meta_sql['join'];
    }
 
    return $sql_array;
}

Changelog

Changelog
Version Description
BuddyPress 1.8.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.