[wp-trac] [WordPress Trac] #33452: wp_dropdown_categories doesn't respect show_option_all
WordPress Trac
noreply at wordpress.org
Fri Aug 21 01:10:36 UTC 2015
#33452: wp_dropdown_categories doesn't respect show_option_all
-------------------------------------+---------------------------
Reporter: dfellini | Owner: boonebgorges
Type: defect (bug) | Status: closed
Priority: normal | Milestone: 4.3.1
Component: Taxonomy | Version: 4.3
Severity: normal | Resolution: fixed
Keywords: has-patch needs-testing | Focuses:
-------------------------------------+---------------------------
Changes (by boonebgorges):
* owner: => boonebgorges
* status: new => closed
* resolution: => fixed
Comment:
In [changeset:"33681"]:
{{{
#!CommitTicketReference repository="" revision="33681"
In `Walker_CategoryDropdown::start_el()`, cast values to strings before
deciding whether to append 'selected' attribute.
As of [32484], `wp_dropdown_categories()` uses the `$value_field` value to
decide whether a given `<option>` should be 'selected'. However,
`$value_field`
can refer to a value that is a string, such as a category's slug. This
causes
problems when doing a loose comparison (`==`) with the value of the
`'selected'`
parameter, which defaults to `0`, because when doing a loose comparison
between an integer and a string, PHP will cast the string to an integer.
This
creates false matches, resulting in `<option>` elements getting a
'selected'
attribute incorrectly.
We address the issue by casting the comparison values to strings, and then
using the strict comparison operator `===`.
Fixes #33452 for trunk.
}}}
--
Ticket URL: <https://core.trac.wordpress.org/ticket/33452#comment:4>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list