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
This switches from using the `test`/`cp` commands when copying the `.env.example` file to using `node:fs`. `test` and `cp` are not available on Windows machines.
This also adds the `.env` file to the `svn:ignore` list to prevent it from being committed accidentally.
Follow up to [59038].
Props afercia, Clorith, poena.
Fixes#52668.
Built from https://develop.svn.wordpress.org/trunk@59249
git-svn-id: http://core.svn.wordpress.org/trunk@58641 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Fix an issue where Imagick did not properly set image quality for AVIF images. Adds a call to `setCompressionQuality` where we currently call `setImageCompressionQuality`
Props: jamesosborne, adamsilverstein, mukeshpanchal27.
Fixes: #61614.
Built from https://develop.svn.wordpress.org/trunk@59247
git-svn-id: http://core.svn.wordpress.org/trunk@58639 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Load block patterns for bundled themes on the `init` hook to avoid triggering notices caused by loading the translations too early.
The change is applied to Twenty Ten, Twenty Twelve, Twenty Thirteen, Twenty Fourteen, Twenty Fifteen, Twenty Sixteen and Twenty Twenty.
Props domainsupport, swissspidy.
Fixes#62237.
See #44937.
Built from https://develop.svn.wordpress.org/trunk@59244
git-svn-id: http://core.svn.wordpress.org/trunk@58636 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Includes:
* Moving `@covers` tags to the class-level DocBlock, since this is the only function tested in the class.
* Adjusting the assertion messages for clarity, as `rss_enclosure()` does not return anything directly.
* Using a static closure for improved performance.
Follow-up to [59241].
See #61530.
Built from https://develop.svn.wordpress.org/trunk@59243
git-svn-id: http://core.svn.wordpress.org/trunk@58635 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Relocate the defintion of `absint()` to `load.php` to allow it to be available to `get_current_blog_id()` and `get_current_network_id()`. These functions may be called by caching drop-ins, prior to the loading of `functions.php`.
Props flixos90, geekofshire, johnjamesjacoby, sergeybiryukov, wonderboymusic.
Fixes#40682.
Built from https://develop.svn.wordpress.org/trunk@59242
git-svn-id: http://core.svn.wordpress.org/trunk@58634 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Prevent possible PHP warnings caused by malformed enclosure meta data. This change ensures the enclosure meta data has at least three lines of text before generating the tag in `rss_enclosure()`.
Props arypneta, johnjamesjacoby, nihar007, rahmohn, rghedin, zahardoc.
Fixes#58798.
Built from https://develop.svn.wordpress.org/trunk@59241
git-svn-id: http://core.svn.wordpress.org/trunk@58633 1a063a9b-81f0-0310-95a4-ce76da25c4cd
There is a bug where the attributes panel is not shown in custom post types. This is caused because each post type can define a capability_type, which by default is post, so the logic to map the capabilities wasn't correct and it was returning false.
Props santosguillamot, cbravobernal.
Fixes#62226.
Built from https://develop.svn.wordpress.org/trunk@59239
git-svn-id: http://core.svn.wordpress.org/trunk@58631 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Bootstrap block bindings sources earlier in the process through an inline script to ensure they are available when developers want to extend them in the client. Following the same pattern other APIs like registering block types are doing.
Props santosguillamot, cbravobernal, gziolo.
Fixes#6225.
Built from https://develop.svn.wordpress.org/trunk@59238
git-svn-id: http://core.svn.wordpress.org/trunk@58630 1a063a9b-81f0-0310-95a4-ce76da25c4cd