fix bug in map_meta_cap_for_seo_manager #21080
Open
+11
−6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
Yoast adds the {@see WPSEO_Register_Capabilities::map_meta_cap_for_seo_manager()} filter
before the current user has determined, however, that callback relies on a call to {@see wp_get_current_user}
which will cause an infinite loop if any plugin/theme/custom-code uses {@see user_can()} during the creation of the
user session to determine per-user configurations of sessions.
The correct hook to add the callback would probably be the {@see set_current_user} hook, otherwise
the callback to {@see WPSEO_Register_Capabilities::map_meta_cap_for_seo_manager()} also always receives the user id
which means it would actually also work if {@see user_can()} is called on a user that's not the currently logged in
one, which is pretty common as well.
*
Summary
This PR can be summarized in the following changelog entry:
Relevant technical choices:
Test instructions
Test instructions for the acceptance test before the PR gets merged
This PR can be acceptance tested by following these steps:
Relevant test scenarios
Test instructions for QA when the code is in the RC
QA can test this PR by following these steps:
Impact check
This PR affects the following parts of the plugin, which may require extra testing:
UI changes
Other environments
[shopify-seo]
, added test instructions for Shopify and attached theShopify
label to this PR.Documentation
Quality assurance
Innovation
innovation
label.Fixes #