Formatting: Ensure that wp_filter_object_list() will return an array when being passed an object with magic methods.
Fixes #50095. Props johnjamesjacoby. git-svn-id: https://develop.svn.wordpress.org/trunk@48413 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
0999a01956
commit
0802e754a2
@ -102,12 +102,23 @@ class WP_List_Util {
|
|||||||
$filtered = array();
|
$filtered = array();
|
||||||
|
|
||||||
foreach ( $this->output as $key => $obj ) {
|
foreach ( $this->output as $key => $obj ) {
|
||||||
$to_match = (array) $obj;
|
|
||||||
|
|
||||||
$matched = 0;
|
$matched = 0;
|
||||||
|
|
||||||
foreach ( $args as $m_key => $m_value ) {
|
foreach ( $args as $m_key => $m_value ) {
|
||||||
if ( array_key_exists( $m_key, $to_match ) && $m_value == $to_match[ $m_key ] ) {
|
|
||||||
$matched++;
|
if ( is_array( $obj ) ) {
|
||||||
|
|
||||||
|
// Treat object as an array
|
||||||
|
if ( array_key_exists( $m_key, $obj ) && ( $m_value == $obj[ $m_key ] ) ) {
|
||||||
|
$matched++;
|
||||||
|
}
|
||||||
|
|
||||||
|
} elseif ( is_object( $obj ) ) {
|
||||||
|
|
||||||
|
// Treat object as an object
|
||||||
|
if ( isset( $obj->{$m_key} ) && ( $m_value == $obj->{$m_key} ) ) {
|
||||||
|
$matched++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user