-
Notifications
You must be signed in to change notification settings - Fork 3.2k
get_post_states: post type checks #10706
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
get_post_states: post type checks #10706
Conversation
https://core.trac.wordpress.org/ticket/58932 The function `get_post_states()` requires a WP_Post object as an arg. But `get_post()` can return `null` - so we need multiple layers of defense here. First, `get_post_states()` needs to validate that it has a WP_Post object before trying to treat $post as an object. Second, the call to `get_post_states()` in `wp-includes/nav-menu.php` needs to be conditional on `get_post()` returning a WP_Post object. This also includes a new test for `get_post_states()` to make sure it does the right thing when given something other than a WP_Post object.
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the Core Committers: Use this line as a base for the props when committing in SVN: To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
Test using WordPress PlaygroundThe changes in this pull request can previewed and tested using a WordPress Playground instance. WordPress Playground is an experimental project that creates a full WordPress instance entirely within the browser. Some things to be aware of
For more details about these limitations and more, check out the Limitations page in the WordPress Playground documentation. |
This comment was marked as resolved.
This comment was marked as resolved.
…into 58932/get-post-states-defense
… in `wp_setup_nav_menu_item()`. The `get_post_states()` function is also hardened to short-circuit in case a non-`WP_Post` is passed. A test is added to verify this. Developed in #10706 Follow-up to [47211]. Props apedog, josephscott, joemcgill, westonruter. See #49374. Fixes #58932. git-svn-id: https://develop.svn.wordpress.org/trunk@61465 602fd350-edb4-49c9-b593-d223f7449a82
… in `wp_setup_nav_menu_item()`. The `get_post_states()` function is also hardened to short-circuit in case a non-`WP_Post` is passed. A test is added to verify this. Developed in WordPress/wordpress-develop#10706 Follow-up to [47211]. Props apedog, josephscott, joemcgill, westonruter. See #49374. Fixes #58932. Built from https://develop.svn.wordpress.org/trunk@61465 git-svn-id: http://core.svn.wordpress.org/trunk@60777 1a063a9b-81f0-0310-95a4-ce76da25c4cd
… in `wp_setup_nav_menu_item()`. The `get_post_states()` function is also hardened to short-circuit in case a non-`WP_Post` is passed. A test is added to verify this. Developed in WordPress/wordpress-develop#10706 Follow-up to [47211]. Props apedog, josephscott, joemcgill, westonruter. See #49374. Fixes #58932. Built from https://develop.svn.wordpress.org/trunk@61465 git-svn-id: https://core.svn.wordpress.org/trunk@60777 1a063a9b-81f0-0310-95a4-ce76da25c4cd
https://core.trac.wordpress.org/ticket/58932
The function
get_post_states()requires a WP_Post object as an arg. Butget_post()can returnnull- so we need multiple layers of defense here.First,
get_post_states()needs to validate that it has a WP_Post object before trying to treat $post as an object.Second, the call to
get_post_states()inwp-includes/nav-menu.phpneeds to be conditional onget_post()returning a WP_Post object.This also includes a new test for
get_post_states()to make sure it does the right thing when given something other than a WP_Post object.This Pull Request is for code review only. Please keep all other discussion in the Trac ticket. Do not merge this Pull Request. See GitHub Pull Requests for Code Review in the Core Handbook for more details.