wp_filter_object_list( array $input_list, array $args = array(), string $operator = 'and', bool|string $field = false ): array
Filters a list of objects, based on a set of key => value arguments.
Description
Retrieves the objects from the list that match the given arguments.
Key represents property name, and value represents property value.
If an object has more properties than those specified in arguments, that will not disqualify it. When using the ‘AND’ operator, any missing properties will disqualify it.
When using the $field
argument, this function can also retrieve a particular field from all matching objects, whereas wp_list_filter() only does the filtering.
Parameters
-
$input_list
array Required -
An array of objects to filter.
-
$args
array Optional -
An array of key => value arguments to match against each object.
Default:
array()
-
$operator
string Optional -
The logical operation to perform.
'AND'
means all elements from the array must match.'OR'
means only one element needs to match.'NOT'
means no elements may match. Default'AND'
.Default:
'and'
-
$field
bool|string Optional -
A field from the object to place instead of the entire object.
Default:
false
Return
array A list of objects or object fields.
Source
File: wp-includes/functions.php
.
View all references
function wp_filter_object_list( $input_list, $args = array(), $operator = 'and', $field = false ) {
if ( ! is_array( $input_list ) ) {
return array();
}
$util = new WP_List_Util( $input_list );
$util->filter( $args, $operator );
if ( $field ) {
$util->pluck( $field );
}
return $util->get_output();
}
Changelog
Version | Description |
---|---|
4.7.0 | Uses WP_List_Util class. |
3.0.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.
Filtering out certain post types from the loop following a search
If multiple post types are returned in a search query you can filter out the posts that are of post type ‘page’ only.