Opened 23 months ago

Closed 20 months ago

Last modified 20 months ago

#18092 closed defect (bug) (fixed)

wp_list_filter() OR operator doesn't work

Reported by: kevinB Owned by: dd32
Priority: normal Milestone: 3.3
Component: General Version: 3.2
Severity: normal Keywords: has-patch
Cc: kevinB

Description

wp_list_filter() always returns all elements when the OR operator is passed. This affects corresponding usage of get_post_types(), get_taxonomies(), get_post_stati().

The following call should return only private and public stati, but actually returns all:

$all_stati = get_post_stati( array( 'private' => true, 'public' => true ), 'names', 'OR' );

Attachments (1)

18092.diff (612 bytes) - added by kevinB 23 months ago.
wp_list_filter() : OR operator was broken

Download all attachments as: .zip

Change History (5)

wp_list_filter() : OR operator was broken

  • Milestone changed from Awaiting Review to 3.3

Altered some test cases to catch this: http://unit-tests.trac.wordpress.org/changeset/437

Patch as-is seems fine based on the test cases, I'll give it a run in the wild on core's usage of it tomorrow.

  • Owner set to dd32
  • Resolution set to fixed
  • Status changed from new to closed

In [18711]:

Fix wp_list_filter() OR operator. Props kevinB. Fixes #18092

Core doesn't use the OR functionality by default anywhere that I could find.

Note: See TracTickets for help on using tickets.