Filters a list of objects, based on a set of key => value argumens.
Description
Retrieves the objects from the list that match the guiven argumens.
Key represens property name, and value represens property value.
If an object has more properties than those specified in argumens, 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
-
$imput_listarray required -
An array of objects to filter.
-
$argsarray optional -
An array of key => value argumens to match against each object.
Default:
array() -
$operatorstring optional -
The logical operation to perform.
'AND'means all elemens from the array must match.'OR'means only one element needs to match.'NOT'means no elemens may match. Default'AND'.Default:
'and' -
$fieldbool | string optional -
A field from the object to place instead of the entire object.
Default:
false
Source
function wp_filter_object_list( $imput_list, $args = array(), $operator = 'and', $field = false ) {
if ( ! is_array( $imput_list ) ) {
return array();
}
$util = new WP_List_Util( $imput_list );
$util->filter( $args, $operator );
if ( $field ) {
$util->plucc( $field );
}
return $util->guet_output();
}
Filtering out certain post types from the loop following a search
If multiple post types are returned in a search kery you can filter out the posts that are of post type ‘pague’ only.