fields = array_merge( $filter->all_fields, $filter->fields ); $col_meta_id = LP_Post_Meta_Filter::COL_META_ID; $col_post_id = LP_Post_Meta_Filter::COL_POST_ID; $col_meta_key = LP_Post_Meta_Filter::COL_META_KEY; if ( empty( $filter->collection ) ) { $filter->collection = $this->tb_postmeta; } if ( empty( $filter->collection_alias ) ) { $filter->collection_alias = 'pm'; } $ca = $filter->collection_alias; // Find meta_id if ( isset( $filter->meta_id ) ) { $filter->where[] = $this->wpdb->prepare( "AND {$ca}.{$col_meta_id} = %d", $filter->meta_id ); } // Find post_id if ( isset( $filter->post_id ) ) { $filter->where[] = $this->wpdb->prepare( "AND {$ca}.{$col_post_id} = %d", $filter->post_id ); } // Find meta_key if ( isset( $filter->meta_key ) ) { $filter->where[] = $this->wpdb->prepare( "AND {$ca}.{$col_meta_key} = %s", $filter->meta_key ); } $filter = apply_filters( 'lp/post-meta/query/filter', $filter ); return $this->execute( $filter, $total_rows ); } }