[wp-trac] [WordPress Trac] #53235: Ensure consistent type for integer properties of WP_Post, WP_Term, and WP_User
WordPress Trac
noreply at wordpress.org
Wed May 19 21:54:11 UTC 2021
#53235: Ensure consistent type for integer properties of WP_Post, WP_Term, and
WP_User
----------------------------+--------------------
Reporter: SergeyBiryukov | Owner: (none)
Type: defect (bug) | Status: new
Priority: normal | Milestone: 5.8
Component: General | Version:
Severity: normal | Keywords:
Focuses: |
----------------------------+--------------------
Background: #52995.
Some properties of the `WP_Post`, `WP_Term`, and `WP_User` classes are
documented as integers, so it should be a safe assumption to always treat
them as such. However, that is not the case when `get_post()` or
`get_term()` is called with an `edit`, `attribute`, or `js` context,
because all values are run through `esc_attr()` or `esc_js()` in that
case, and these properties are unexpectedly converted to strings.
As WordPress moves to strict type comparisons in tickets like #52627 or
#52482, it is important to make the type of these properties consistent in
all contexts, so that using strict comparison does not cause unexpected
issues.
This applies to the following functions:
* `sanitize_post_field()`
* `sanitize_term_field()`
* `sanitize_user_field()`
and the following properties:
* `WP_Post::ID`
* `WP_Post::post_parent`
* `WP_Post::menu_order`
* `WP_Term::parent`
* `WP_Term::term_id`
* `WP_Term::count`
* `WP_Term::term_group`
* `WP_Term::term_taxonomy_id`
* `WP_Term::object_id`
* `WP_User::ID`
--
Ticket URL: <https://core.trac.wordpress.org/ticket/53235>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list