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
In `WP_Theme_JSON::get_block_nodes()`, remove redundant check for `$theme_json['styles']`, which means `WP_Theme_JSON::get_blocks_metadata()` is only called if necessary.
Also skip unnecessary `$selector` assignment if only nodes are to be returned.
Props ramonopoly, mukesh27.
Fixes #62234.
Built from https://develop.svn.wordpress.org/trunk@59262
git-svn-id: http://core.svn.wordpress.org/trunk@58654 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Loads the font family files from style variations defined within a theme for user in the site and post editors. This is to ensure the fonts are shown while editing without the need for a reload after switching styles.
Props ironprogrammer, mmaattiiaass.
Fixes#62231.
Built from https://develop.svn.wordpress.org/trunk@59260
git-svn-id: http://core.svn.wordpress.org/trunk@58652 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Fixes a fatal error in `array_keys()` (PHP 8.0+) as `$wp_filesystem->dirlist()` will return `false` when the source directory doesn't exist or becomes unreadable for some reason.
Props: verygoode, lifelightweb, da5f656f, costdev, afragen, azaozz
Fixes#61114
Built from https://develop.svn.wordpress.org/trunk@59257
git-svn-id: http://core.svn.wordpress.org/trunk@58649 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This caches the generated CSS from block nodes in merged Theme JSON data to avoid repeated costly operations required to compute style properties for blocks. The generated CSS is saved to a transient that expires every hour.
This is a follow-up that reimplements [58334], which was previously reverted in [58710].
Props thekt12, spacedmonkey, pereirinha, mukesh27, isabel_brison, oandregal, andrewserong, ramonjd, joemcgill, costdev, aaronrobertshaw, peterwilsoncc.
Fixes#61679. See #59595.
Built from https://develop.svn.wordpress.org/trunk@59256
git-svn-id: http://core.svn.wordpress.org/trunk@58648 1a063a9b-81f0-0310-95a4-ce76da25c4cd
[59252] made the path filtering a bit too broad for the Test Old Branches workflow.
Though `v3` of the reusable PHPUnit workflow is used by some older branches, this version is updated much more frequently because it’s the latest version.
To limit the number of times this workflow runs, old branches should only be tested when old versions of the workflow are updated.
Follow up to [59252].
See #61564.
Built from https://develop.svn.wordpress.org/trunk@59254
git-svn-id: http://core.svn.wordpress.org/trunk@58646 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Some GitHub Action workflows use the `paths` filter to limit when workflows run for pull requests. This helps avoid running workflows unnecessarily when the pull request does not change any relevant code.
Currently, a few of these workflows are configured to run when any `.yml` file in the `.github/workflows/` directory is changed. This updates those workflows to target more specific workflow files for more efficient running.
See #61564.
Built from https://develop.svn.wordpress.org/trunk@59252
git-svn-id: http://core.svn.wordpress.org/trunk@58644 1a063a9b-81f0-0310-95a4-ce76da25c4cd