This commit affects `WP_Theme_JSON_Resolver::resolve_theme_file_uris()`.
When setting resolved URIs in an incoming theme json object, this commit removes the unnecessary call to `WP_Theme_JSON->merge()`.
Why? `WP_Theme_JSON_Resolver::resolve_theme_file_uris()` only needs to set values for paths in the raw theme json object. It can then return a new theme object based on the updated JSON source. There's no need for a full and possibly expensive merge.
Follow-up to [61588].
Props ramonopoly, aaronrobertshaw, andrewserong.
Fixes #62329.
Built from https://develop.svn.wordpress.org/trunk@59338
git-svn-id: http://core.svn.wordpress.org/trunk@58724 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit fixes an issue where some magic `__isset()` methods were potentially returning `void` (if the prop is not in an allow-listed array of fields) instead of an explicit boolean `false`.
Addressed methods:
* `WP_Comment::__isset()`
* `WP_Query::__isset()`
Follow-up to [28523], [31151], [34583], [34599].
Props justlevine.
See #52217.
Built from https://develop.svn.wordpress.org/trunk@59337
git-svn-id: http://core.svn.wordpress.org/trunk@58723 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit adds missing `void` return types to (parent) methods that can ''explicitly'' return `void` as one of their conditional paths.
Addressed methods:
* `WP_Privacy_Requests_Table::column_status()`
* `WP_Recovery_Mode::handle_error()`
* `WP_Widget::form()` — unlike the others, it's the ''child'' classes that return `void` when the method is correctly implemented.
Note: `@return void` (where `void` is the single type returned) should not be used outside the default bundled themes and the PHP compatibility shims included in WordPress Core, as per the [https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/ documentation standards].
Follow-up to [30382], [42967], [43256], [44973], [45448].
Props justlevine.
See #52217, #62281.
Built from https://develop.svn.wordpress.org/trunk@59336
git-svn-id: http://core.svn.wordpress.org/trunk@58722 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit fixes an omission in the logic of `WP_Theme_JSON::merge()` where top-level background image style objects are not replaced, rather they are merged. Because background images are self contained objects, their properties are unique and should not be merged. Blocks are already catered for via `WP_Theme_JSON::get_block_nodes()`.
Follow-up to [61858].
Props ramonopoly, andrewserong.
Fixes #62328.
Built from https://develop.svn.wordpress.org/trunk@59335
git-svn-id: http://core.svn.wordpress.org/trunk@58721 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Reverts an earlier change to the test suite in which the PHPUnit tests could not run if the importer plugin was not available.
This update allows the test suite to run and will fail importer tests if the plugin is not available.
Follow up to r59085.
Props peterwilsoncc, azaozz.
See #62325.
Built from https://develop.svn.wordpress.org/trunk@59326
git-svn-id: http://core.svn.wordpress.org/trunk@58712 1a063a9b-81f0-0310-95a4-ce76da25c4cd
The previous approach of running `wp_allow_comment()` twice could have unintended consequences, e.g. the `check_comment_flood` action was also triggered twice, which might lead to false-positive identification of comment flood in case there is some custom callback hooked to it, which is not expecting identical data seeing twice.
This commit introduces a new function, `wp_check_comment_data()`, to specifically check for disallowed content before and after comment data is filtered.
Follow-up to [59267].
Props david.binda, SergeyBiryukov.
See #61827.
Built from https://develop.svn.wordpress.org/trunk@59319
git-svn-id: http://core.svn.wordpress.org/trunk@58705 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit fixes a regression whereby requests to global styles endpoints were not being preloaded, resulting in several requests being fired clientside unnecessarily.
For performance reasons, we preload the requests so that the data is in the editor store and ready to use straight away.
The outcome is that the editor loads more quickly.
Follow-up to [62042].
Props ellatrix, ramonopoly, apermo, peterwilsoncc.
Fixes #62315.
Built from https://develop.svn.wordpress.org/trunk@59316
git-svn-id: http://core.svn.wordpress.org/trunk@58702 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This resolves a "passing null to non-nullable" deprecation notice on PHP 8.1+:
{{{
Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated
}}}
Follow-up to [50129], [54477].
Props afragen, peterwilsoncc, SergeyBiryukov.
Fixes#62298.
Built from https://develop.svn.wordpress.org/trunk@59312
git-svn-id: http://core.svn.wordpress.org/trunk@58698 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Fixes a typo in the a11y helper text explaining how to navigate revisions. "Change revision by using the left and arrow keys" becomes "Change revision by using the left and right arrow keys".
Follow up to [59225].
Props pedromendonca, sabernhardt, fierevere, swissspidy.
Fixes#62306.
Built from https://develop.svn.wordpress.org/trunk@59306
git-svn-id: http://core.svn.wordpress.org/trunk@58692 1a063a9b-81f0-0310-95a4-ce76da25c4cd
The previous domain that was used to test for a host whose IPv4 address cannot be resolved, `exampleeeee.com`, got registered and has an A-record now, so it's not invalid anymore.
`.invalid` is intended for use in online construction of domain names that are sure to be invalid and which it is obvious at a glance are invalid.
Reference: [https://datatracker.ietf.org/doc/html/rfc2606#section-2 Reserved Top Level DNS Names: TLDs for Testing, & Documentation Examples].
Follow-up to [52084], [58384], [58388].
Props sippis, johnbillion, MattyRob, swissspidy.
Fixes#62303.
Built from https://develop.svn.wordpress.org/trunk@59293
git-svn-id: http://core.svn.wordpress.org/trunk@58685 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Adds instructions to the Twenty Twenty-Two readme file for updating the comment block from the legacy version to the newer version introduced in WordPress 6.1.
As Twenty Twenty-Two supports WordPress version prior to 6.1, the legacy comment block is used by default.
Props desrosj, jeffpaul, joedolson, mikachan, mrfoxtalbot, mukesh27, poena, ryokuhi, sabernhardt, thrijith.
Fixes#56496.
Built from https://develop.svn.wordpress.org/trunk@59289
git-svn-id: http://core.svn.wordpress.org/trunk@58681 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This aims to avoid hanging PHP processes if a plugin inadvertently attempts to request a large number of revision diffs.
Follow-up to [24520], [24707], [59039].
Props madpeter, lovesoni1999, debarghyabanerjee, pbearne, desrosj, SergeyBiryukov.
Fixes#49291.
Built from https://develop.svn.wordpress.org/trunk@59288
git-svn-id: http://core.svn.wordpress.org/trunk@58680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This updates the Test Coverage workflow to make use of the reusable PHPUnit test workflow to avoid having duplicate code.
`concurrency` has also been configured for the workflow, and 4 test jobs have been consolidated into 2.
Props jrf.
Fixes#62296.
Built from https://develop.svn.wordpress.org/trunk@59287
git-svn-id: http://core.svn.wordpress.org/trunk@58679 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Break out logic from the `next_token()` method into a private method which may call itself recursively. This allows for subclasses to override the `next_token()` method and be assured that each call to `next_token()` corresponds with the consumption of one single token. This also parallels how `WP_HTML_Tag_Processor::next_token()` wraps a private `base_class_next_token()` method.
Props westonruter, jonsurrell.
Fixes#62269.
Built from https://develop.svn.wordpress.org/trunk@59285
git-svn-id: http://core.svn.wordpress.org/trunk@58677 1a063a9b-81f0-0310-95a4-ce76da25c4cd
GitHub Actions caps the number of jobs that can be spawned from a single matrix at 256.
The changes in [59280] pushed the WordPress 6.x job over this limit. This splits that matrix into two following established pattern for older branches in the workflow.
See #61218, #62221.
Built from https://develop.svn.wordpress.org/trunk@59281
git-svn-id: http://core.svn.wordpress.org/trunk@58673 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Because `caching_sha2_password` is not supported on PHP 7.2 & 7.3, the local Docker environment has used the `--default-authentication-plugin` system variable to always make use of `mysql_native_password` despite MySQL 8.0 deprecating this auth plugin.
However in MySQL 8.4, the `--default-authentication-plugin` option was removed in favor of `--authentication-policy`, and `mysql_native_password` is now disabled by default. `mysql_native_password` has also been removed in MySQL 9.0.
This change adds support to the local Docker environment for MySQL 8.4 by adding some helper functions that determine which authentication plugin should be used based on the configured PHP/MySQL versions and automatically making the necessary configuration adjustments.
Props ayeshrajans, johnbillion, aristath, jorbin.
See #61218.
Built from https://develop.svn.wordpress.org/trunk@59279
git-svn-id: http://core.svn.wordpress.org/trunk@58671 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This merges the latest improvements to the Twenty Twenty-Five theme from GitHub into `trunk` for 6.7 RC 1.
A full list of changes can be found on GitHub: [e4da8ad0ae...f2dc3facf9 WordPress/twentytwentyfive@e4da8ad...f2dc3fa]
Props juanfra, poena, beafialho, areziaal, joen, sergeybiryukov, richtabor, cwhitmore, get_dave, talldanwp, andraganescu, kau-boy, mhkuu, hanneslsm, alaminfirdows, dd32.
See #62264.
Built from https://develop.svn.wordpress.org/trunk@59269
git-svn-id: http://core.svn.wordpress.org/trunk@58661 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This ensures that a Disallowed Comment Keys match will consistently send the comment to the Trash, by checking both the original unmodified comment data and the final filtered comment data.
If the first check has already resulted in a `trash` or `spam` status, the second check is skipped as redundant.
Follow-up to [2894], [3851], [48121], [48575].
Props cfinke, kbrownkd, thompsonsj, mi5t4n, devspace, chaion07, engahmeds3ed, SergeyBiryukov.
Fixes#61827.
Built from https://develop.svn.wordpress.org/trunk@59267
git-svn-id: http://core.svn.wordpress.org/trunk@58659 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Add `select` inputs to allow users to set the parent and position of items in the menu settings. Fixes a significant problem for screen reader users that makes updating menus extremely tedious, since the options for moving items do not explicitly set a position. This is also a significant improvement for all users manipulating large menus.
This could easily be considered an enhancement, but while it is a minor enhancement for most users, it is transformative for screen reader users in managing menus, moving that interface from nearly unusable to very manageable.
Props javad2000, audrasjb, juliemoynat, williamalexander, rcreators, milamj, joedolson.
Fixes#43305.
Built from https://develop.svn.wordpress.org/trunk@59265
git-svn-id: http://core.svn.wordpress.org/trunk@58657 1a063a9b-81f0-0310-95a4-ce76da25c4cd