LLMS_Query_User_Postmeta::sql_where()
SQL “where” clause for the query
Return Return
(string)
Source Source
File: includes/class.llms.query.user.postmeta.php
237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 | * @since 3.15.0 * @version 3.15.0 */ protected function sql_where() { global $wpdb ; $sql = 'WHERE 1' ; foreach ( array ( 'post_id' , 'user_id' ) as $key ) { $ids = $this ->get( $key ); if ( $ids ) { $prepared = implode( ',' , $ids ); $sql .= " AND {$key} IN ({$prepared})" ; } } if ( $this ->get( 'query' ) ) { $sql .= ' AND ( ' ; foreach ( $this ->get( 'query' ) as $i => $query ) { if ( 0 !== $i ) { $sql .= " {$this->get( 'query_compare' )} " ; } // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared switch ( $query [ 'compare' ] ) { case '=' : case '!=' : case 'LIKE' : $sql .= $wpdb ->prepare( "( meta_key = %s AND meta_value {$query['compare']} %s )" , $query [ 'key' ], $query [ 'value' ] ); break ; case 'IN' : case 'NOT IN' : $query [ 'value' ] = array_map ( array ( $this , 'escape_and_quote_string' ), $query [ 'value' ] ); $vals = implode( ',' , $query [ 'value' ] ); $sql .= $wpdb ->prepare( "( meta_key = %s AND meta_value {$query['compare']} ( {$vals} ) )" , $query [ 'key' ] ); break ; case 'IS NOT NULL' : $sql .= $wpdb ->prepare( "( meta_key = %s AND meta_value {$query['compare']} )" , $query [ 'key' ] ); break ; } // phpcs:enable WordPress.DB.PreparedSQL.InterpolatedNotPrepared } $sql .= ' )' ; } |
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
3.15.0 | Introduced. |