Commit Graph

35797 Commits

Author SHA1 Message Date
Sergey Biryukov ac2b1a56d2 Docs: Update some reusable block references to synced patterns.
In WordPress 6.3, [https://wordpress.org/documentation/article/reusable-blocks/ Reusable Blocks were renamed to Patterns]. A synced pattern will behave in exactly the same way as a reusable block.

This commit updates some references in DocBlocks and inline comments to use the new name.

Follow-up to [56030].

Props benjaminknox, oglekler, hellofromTonya, marybaum, nicolefurlan.
Fixes #59388.
Built from https://develop.svn.wordpress.org/trunk@57032


git-svn-id: http://core.svn.wordpress.org/trunk@56543 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-31 12:58:23 +00:00
Peter Wilson cc0246c154 Options, Meta APIs: Fast follow fixes for option cache priming functions.
A collection of fixes for `wp_prime_option_caches()`:

* cache arrays and objects in their serialized form for consistency with `get_option()` and `wp_load_alloptions()`
* prevent repeat database queries for falsey and known non-existent options (notoptions)

Additional tests for `wp_prime_option_caches()` to ensure:

* additional database queries are not made repriming options (known, known-unknown and alloptions)
* cache is primed consistently
* `get_option()` returns a consistent value regardless of how it is primed
* database queries do not contain earlier primed options
* `get_option` does not prime the cache when testing the cache has been successfully primed

Fixes a test for `wp_prime_option_caches_by_group()` to ensure `get_option` does not prime the cache when testing the cache has been successfully primed.

Follow up to [56445],[56990],[57013].

Props peterwilsoncc, costdev, flixos90, hellofromTonya, mikeschroder, joemcgill.
Fixes #59738. See #58962.

Built from https://develop.svn.wordpress.org/trunk@57029


git-svn-id: http://core.svn.wordpress.org/trunk@56540 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-30 22:58:24 +00:00
Sergey Biryukov bdfe4f53bc Editor: Correctly load RTL stylesheets in `register_core_block_style_handles()`.
When setting an RTL language under Settings → General, some RTL stylesheets were not loaded, with LTR stylesheets being loaded instead, meaning that some blocks were not displayed correctly.

This commit ensures that all appropriate RTL stylesheets are loaded when selecting an RTL language.

Follow-up to [56524].

Props mukesh27, maahrokh, hellofromTonya, joemcgill, huzaifaalmesbah, rajinsharwar, devmuhib, swissspidy.
Fixes #59715.
Built from https://develop.svn.wordpress.org/trunk@57028


git-svn-id: http://core.svn.wordpress.org/trunk@56539 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-30 12:54:22 +00:00
Sergey Biryukov 61296195f8 Docs: Improve documentation for `wp_tempnam()` and `download_url()`.
Instead of mentioning the `unlink()` function specifically, the DocBlock should state that the calling function must delete or move the temporary file.

Follow-up to [6779], [12151].

Props bedas.
Fixes #59761.
Built from https://develop.svn.wordpress.org/trunk@57027


git-svn-id: http://core.svn.wordpress.org/trunk@56538 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-29 00:16:26 +00:00
Sergey Biryukov ac10fc6896 Blocks: Parse the arguments earlier in `register_block_type_from_metadata()`.
This makes it possible to register a block by passing an array of arguments, without the presence of a `block.json` file.

Follow-up to [48141], [49948].

Props aristath, spacedmonkey, mukesh27, costdev, audrasjb, oglekler, felipeelia, hellofromTonya.
Fixes #56865.
Built from https://develop.svn.wordpress.org/trunk@57026


git-svn-id: http://core.svn.wordpress.org/trunk@56537 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-28 01:02:26 +00:00
joedolson 32bf11b728 Plugins: Prevent `ajaxComplete` listener from observing all events.
Add a conditional to prevent the `prefers-reduced-motion` `ajaxComplete` listener from observing events not occurring in the plugin installation screen. Improve handling of settings data test.

The listener observing `ajaxComplete` in [56541] was intercepting all `ajaxComplete` events, creating potential for unexpected errors in unrelated functions.

Props bplv, afercia, rudlinkon, hellofromTonya, huzaifaalmesbah, joedolson, jorbin.
Fixes #59689.
Built from https://develop.svn.wordpress.org/trunk@57022


git-svn-id: http://core.svn.wordpress.org/trunk@56533 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-27 19:25:20 +00:00
Joe McGill b4a6b21986 Upgrade/Install: Skip registering theme block patterns during the upgrade process.
This fixes a bug during the database upgrade process where a theme's `functions.php` file may not be loaded, leading to potential exceptions if the theme's pattern files use symbols (classes, functions, constants, etc.) that are declared only when the `functions.php` file is loaded. To do so, a check for `wp_get_active_and_valid_themes()` is added early to `_register_theme_block_patterns()`, which returns early if no active or valid themes are returned.

Props fabiankaegy, rajinsharwar, pbiron, huzaifaalmesbah, hellofromTonya, peterwilsoncc, joemcgill.
Fixes #59723.

Built from https://develop.svn.wordpress.org/trunk@57021


git-svn-id: http://core.svn.wordpress.org/trunk@56532 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-27 19:04:22 +00:00
Felix Arntz 06237953dd Themes: Skip wrapping block template for singular content with a main query loop when the template was injected from outside the current theme.
As a follow up to [56507], this fixes a bug that could occur for instance when plugins hijack the block template detection process to inject their own block template with entirely custom logic.

Props afragen, hellofromTonya, costdev, mukesh27, huzaifaalmesbah, flixos90.
Fixes #59736.
See #58154.

Built from https://develop.svn.wordpress.org/trunk@57019


git-svn-id: http://core.svn.wordpress.org/trunk@56530 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-27 18:18:22 +00:00
Aaron Jorbin 50d5a07812 Help/About: Improve Accessibility, RTL, Internationalization, and Responsiveness of about pages.
Tweaks the 6.4 about pages in a couple of ways:
 - Decouples the background from the 6.4 logo so the logo can move for RTL.
 - Updates a color to improve color contrast.
 - Help prevent overlap of long text strings with 6.4 logo.
 - Ensure background isn't dark when no background is used on mobile.

Props nudge, jorbin, afercia, sumitsingh, sabernhardt.
See #59289, #59664.


Built from https://develop.svn.wordpress.org/trunk@57018


git-svn-id: http://core.svn.wordpress.org/trunk@56529 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-27 17:03:25 +00:00
Sergey Biryukov 02fe60ddab Coding Standards: Remove a redundant section in the `phpcs.xml.dist` ruleset.
The affected lines already have ignore annotations in the `wp-includes/class-wp-block-parser-block.php` file itself.

Follow-up to [56048], [56738], [56743], [56751], [56752], [56753].

Props jrf, SergeyBiryukov.
See #59161.
Built from https://develop.svn.wordpress.org/trunk@57017


git-svn-id: http://core.svn.wordpress.org/trunk@56528 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-27 08:29:27 +00:00
Peter Wilson 2aa3f8fbeb Options, Meta APIs: Rename option cache priming functions.
Rename the option cache priming functions to more closely follow the naming convention used by other cache priming functions.

* `wp_load_options()` becomes `wp_prime_option_caches()`
* `wp_load_options_by_group()` becomes `wp_prime_option_caches_by_group()`

The unit test files and classes are renamed accordingly.

Unlike the existing cache priming functions, these functions were introduced with the intention of being public so use the `wp_` prefix rather than the `_` prefix used by the functions initially introduced as private functions but since made public.

Follow up to [56445],[56990].

Props flixos90, peterwilsoncc, joemcgill, SergeyBiryukov, desrosj.
Fixes #58962.


Built from https://develop.svn.wordpress.org/trunk@57013


git-svn-id: http://core.svn.wordpress.org/trunk@56524 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-26 22:56:19 +00:00
Aaron Jorbin a0d7172914 REST API: Move `rest_pre_serve_request` filter to after no cache headers are sent.
[56834] adjusted the order of activity inside the rest server responses. This lead to the `rest_pre_serve_request` filter potentially blocking the sending of the no cache headers. This moves that action back to being after the sending of no cache headers has finished to restore the pre 6.3.2 order of these two actions.

Props perrelet, SergeyBiryukov, peterwilsoncc.
Fixes #59722.

Built from https://develop.svn.wordpress.org/trunk@57012


git-svn-id: http://core.svn.wordpress.org/trunk@56523 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-26 22:36:25 +00:00
Sergey Biryukov 39ccc3798d Tests: Use a `@requires` annotation for `readonly()` function test.
The function is only defined by WordPress core on PHP < 8.1.

Follow-up to [51586].

See #59647.
Built from https://develop.svn.wordpress.org/trunk@57011


git-svn-id: http://core.svn.wordpress.org/trunk@56522 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-26 20:33:22 +00:00
Felix Arntz e5d1fca198 Themes: Fix block theme supports being added too early, leading to Customizer live preview bugs in 6.4.
The Customizer live preview broke because of [56635], however the root cause for the bug was a lower-level problem that had been present since WordPress 5.8: The block theme specific functions `_add_default_theme_supports()` and `wp_enable_block_templates()` were being hooked into the `setup_theme` action, which fires too early to initialize theme features. Because of that, theme functionality would be initialized before the current theme setup being completed. In the case of the Customizer, that includes overriding which theme is the current theme entirely, thus leading to an inconsistent experience.

This changeset fixes the bug by moving those two callbacks to the `after_setup_theme` action, which is the appropriate action to initialize theme features.

Props karl94, hellofromTonya, joemcgill, flixos90.
Fixes #59732.
See #18298, #53397, #54597.

Built from https://develop.svn.wordpress.org/trunk@57009


git-svn-id: http://core.svn.wordpress.org/trunk@56520 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-26 18:44:26 +00:00
Sergey Biryukov 9618b1e89b Tests: Remove some unnecessary multisite test skipping.
These checks are redundant, as the skipping already handled by the `ms-required` and `ms-excluded` groups.

Follow-up to [36740], [36741], [38705], [40520], [51415].

Props johnbillion.
See #59647.
Built from https://develop.svn.wordpress.org/trunk@57008


git-svn-id: http://core.svn.wordpress.org/trunk@56519 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-25 11:22:24 +00:00
desrosj 955a0ec66b Twenty Twenty-Four: Include file renaming for RC2.
This includes a file renaming that was missed in [56999].

Follow-up to [56999], [56951], [56813], [56764], [56716].

Props hellofromTonya, huzaifaalmesbah.
See #59711.
Built from https://develop.svn.wordpress.org/trunk@57003


git-svn-id: http://core.svn.wordpress.org/trunk@56514 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-24 14:35:23 +00:00
desrosj d85bc099a0 Twenty Twenty-Four: Bug fixes for 6.4 RC2.
This update includes updates to patterns to correct color issues and some code quality fixes.

Follow-up to [56951], [56813], [56764], [56716].

Props luminuu, richtabor, onemaggie, kafleg, swissspidy, huzaifaalmesbah, neilorangepeel, shailu25, lada7042, mukesh27, nilovelez, jorbin.
Fixes #59711.
Built from https://develop.svn.wordpress.org/trunk@56999


git-svn-id: http://core.svn.wordpress.org/trunk@56510 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-24 14:06:25 +00:00
Sergey Biryukov e6a1e0059e Tests: Correct the `WP_Test_Stream::mkdir()` method.
The method attempted to check if there is already a file with the same name, however the conditional used an undefined variable.

This commit prevents directory creation if a file or directory with the same name already exists, bringing consistency with the PHP `mkdir()` implementation.

Includes adding missing documentation for the method.

Reference: [https://www.php.net/manual/en/streamwrapper.mkdir.php PHP Manual: streamWrapper::mkdir()].

Follow-up to [49230].

Props david.binda, sadizaman, rajinsharwar, SergeyBiryukov.
Fixes #59406.
Built from https://develop.svn.wordpress.org/trunk@56998


git-svn-id: http://core.svn.wordpress.org/trunk@56509 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-24 11:34:40 +00:00
hellofromTonya 8a2a1f4b41 Tests: Fix static property handling in r56991.
Fixes static property handling for `WP_Duotone::$block_css_declarations` in the `Tests_Block_Supports_Duotone::test_css_declarations_are_generated_even_with_empty_block_content()`:

* Fixes `ReflectionProperty::setValue()` to use an instance of `WP_Duotone`.
* Adds an inline comment to explain why a static class (i.e. a class that is not intended to be an object by design as it only contains static properties and methods) needs an instance, i.e. needed for PHP 8.3 and higher.
* Resets the static property's value to its original value, i.e. before the test started.

Follow-up to [56991].

Props costdev.
See #59694.
Built from https://develop.svn.wordpress.org/trunk@56996


git-svn-id: http://core.svn.wordpress.org/trunk@56507 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-24 10:59:27 +00:00
Bernhard Reiter 2e0baf4f79 Blocks: Fix layout support to be compatible with enhanced pagination.
Make layout support compatible with enhanced pagination by ensuring that generated class names are stable across pagination, even when the number of rendered posts is different.

With the previous implementation of enhanced pagination, the CSS corresponding to each block was not detected. Therefore, for enhanced pagination to work correctly, the CSS of the blocks present in the Post Template must be stable on all pages.

The number of posts rendered by the Query block is always the same, except in the last page, where it can be only a fraction. If any of the blocks rendered by the Post Template used the `wp_unique_id` function, the ID (which is incremental) would have been different than in the previous pages and the class names would have varied.

This is remediated by this changeset by replacing the usage of `wp_unique_id` in the layout support (which is used by the Query block) with an implementation that uses IDs that are incremental only for that block. That way, the generated class names are never affected by the number of times `wp_unique_id` runs.

Props luisherranz, andrewserong, isabel_brison, costdev, mukesh27, cbravobernal, hellofromTonya, jorbin.
Fixes #59681.
Built from https://develop.svn.wordpress.org/trunk@56994


git-svn-id: http://core.svn.wordpress.org/trunk@56505 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-24 08:51:24 +00:00
Peter Wilson 24b0b5bf5f Build/Test tools: Introduce partial unit tests for `WP_Upgrader`.
Props jipmoors, karlijnbk, chaion07, cu121, martin.krcho, costdev, mukesh27, hellofromTonya, SergeyBiryukov, audrasjb, jrf.
Fixes #54245.


Built from https://develop.svn.wordpress.org/trunk@56992


git-svn-id: http://core.svn.wordpress.org/trunk@56503 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-24 01:40:21 +00:00
hellofromTonya ab9c4659ae Editor: Fix render_duotone_support() to be compatible with enhanced pagination.
Some blocks do not have content. For duotone support, blocks without content still need to run through the `render_duotone_support()` to render their duotone CSS.

This fix makes the duotone compatible with the enhanced pagination (introduced in 6.4.0) by making sure that the CSS is always on the page, even when the posts have no featured image. It also prevents the duotone from interfering with other blocks using `wp_unique_id()`.


References:
* [https://github.com/WordPress/gutenberg/pull/55415 Gutenberg PR 55415]

Follow-up to [56226].

Props cbravobernal, luisherranz, hellofromTonya, isabel_brison, jorbin.
Fixes #59694.
Built from https://develop.svn.wordpress.org/trunk@56991


git-svn-id: http://core.svn.wordpress.org/trunk@56502 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-23 23:39:20 +00:00
Felix Arntz cd27e64cef Options, Meta APIs: Rename `prime_options()` to `wp_load_options()`.
This clearly separates these functions which are intended to be used by external developers from the existing `_prime_*_caches()` functions which are primarily intended for internal usage. The term "load" is additionally more accessible than "prime".

This changeset renames the above function, as well as the wrapper function `prime_options_by_group()` to `wp_load_options_by_group()`.

Props peterwilsoncc, joemcgill, hellofromTonya, poran766, flixos90.
Fixes #58962.

Built from https://develop.svn.wordpress.org/trunk@56990


git-svn-id: http://core.svn.wordpress.org/trunk@56501 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-23 21:29:27 +00:00
Tammie Lister 4312036aca Update editor related npm packages for 6.4 RC2.
The npm packages needed update for 6.4 RC2.

Props siobhyb, cbravobernal, DAreRodz, luisherranz, artemiosans, afercia, jameskoster, czapla, alexstine, SantosGuillamot, ramonopoly, isabel_brison, andrewserong, jeryj, joedolson

See #59411.

Built from https://develop.svn.wordpress.org/trunk@56987


git-svn-id: http://core.svn.wordpress.org/trunk@56498 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-23 17:08:31 +00:00
Pascal Birchler 1555e715f6 Sitemaps: add `lastmod` for individual posts and the homepage.
When the XML sitemaps feature was originally introduced, the `lastmod` field was omitted because guidance at the time indicated it was less important for search engines, plus for some entities it was computationally expensive to add. Now that the guidance has slightly changed, we are revisiting this and adding `lastmod` where easily possible.

- Adds `lastmod` to all individual post objects (of any post type) in the sitemap
- Adds `lastmod` to the homepage sitemap entry if the homepage is set to display the latest posts.

No `lastmod` is added for the individual sitemap pages in the sitemap index, nor for term archives or user archives. Those enhancements require additional changes, such as storing the modified date for a taxonomy term when something is added to that term. They can be revisited in separate follow-up tickets.

Props swissspidy, joemcgill.
Fixes #52099
Built from https://develop.svn.wordpress.org/trunk@56985


git-svn-id: http://core.svn.wordpress.org/trunk@56496 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-23 15:42:22 +00:00
Sergey Biryukov a2b495afa9 Docs: Improve documentation for meta revision functions.
Includes:

* Correcting the position of `@since 6.4.0` in a few places.
* Adding missing `@return` documentation.
* Adjusting parameter spacing.

Follow-up to [56714].

Props jeremyfelt, mukesh27.
Fixes #59666.
Built from https://develop.svn.wordpress.org/trunk@56984


git-svn-id: http://core.svn.wordpress.org/trunk@56495 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-23 13:17:22 +00:00
gziolo c7919d32db Tests: Improve code coverage for _build_block_template_result_from_file
Props costdev, bernhard-reiter.
See #54335, #59325.
Follow-up for [56562].


Built from https://develop.svn.wordpress.org/trunk@56983


git-svn-id: http://core.svn.wordpress.org/trunk@56494 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-23 05:38:35 +00:00
Sergey Biryukov ad9048c923 General: Bump the recommended MySQL version in `readme.html`.
MySQL 5.7 reaches EOL (“End of Life”) in October 2023. The recommended minimum is bumped to 8.0 for now.

References:
* [https://www.mysql.com/support/ MySQL Support Policies]
* [https://make.wordpress.org/hosting/handbook/server-environment/#database Hosting team handbook: Server Environment: Database]

Follow-up to [31291], [33946], [35759], [52420], [52421], [54069].

Props swissspidy, SergeyBiryukov.
See #59701.
Built from https://develop.svn.wordpress.org/trunk@56982


git-svn-id: http://core.svn.wordpress.org/trunk@56493 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-22 09:05:25 +00:00
Sergey Biryukov 8088dc8cec Tests: Correct test class name for `WP_Duotone` unit tests.
Follow-up to [56101].

Props cbravobernal.
Fixes #59696.
Built from https://develop.svn.wordpress.org/trunk@56981


git-svn-id: http://core.svn.wordpress.org/trunk@56492 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-21 10:21:27 +00:00
Pascal Birchler 62d53d3ff9 Build/Test Tools: Remove now obsolete `jest-image-snapshot` dependency.
With the migration of visual regression tests to Playwright in [56926], this package is no longer needed and can be safely removed.

See #59517.
Built from https://develop.svn.wordpress.org/trunk@56980


git-svn-id: http://core.svn.wordpress.org/trunk@56491 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-21 08:38:29 +00:00
Joe McGill 8d7ccf869d Themes: Make caches for block patterns clearable.
In [56765], theme block pattern files were cached to a transient as a performance enhancement. However, transients are not easily clearable when caches are flushed on environments not using a persistent cache, which can lead to errors if the theme files are renamed, edited, or moved.

This changes the caching mechanism to use `wp_cache_set()` instead, and caches these values to the global group so they are still persistent on environments using an object cache, and will be cleared by a cache flush.

In addition, the helper `_wp_get_block_patterns` has been moved `WP_Theme::get_block_patterns` for consistency with other block related theme methods and cache helpers for these values, `WP_Theme::get_pattern_cache` and `WP_Theme::set_pattern_cache`, have been made private.

Relevant unit tests updated.

Props: afercia, flixos90, mukesh27, joemcgill.
Fixes #59633. See #59591, #59490.

Built from https://develop.svn.wordpress.org/trunk@56978


git-svn-id: http://core.svn.wordpress.org/trunk@56489 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-20 19:08:21 +00:00
desrosj 915f28e18e Build/Test Tools: Use the correct path to build process test workflows.
Follow up to [56976].

See #59632.
Built from https://develop.svn.wordpress.org/trunk@56977


git-svn-id: http://core.svn.wordpress.org/trunk@56488 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-20 17:13:23 +00:00
desrosj deb2462101 Build/Test Tools: Test the Gutenberg plugin build process.
A very common contributor setup is having a copy of the `gutenberg` development repository within a checkout of the `wordpress-develop` repository. On occasion, there are some strange incompatibilities that come up when using this setup. A few examples can be seen in #58671 and #59634.

This changeset helps ensure that these edge cases are not introduced by testing the Gutenberg plugin’s build process within WordPress configured to run from both the `src` and `build` directories.

This also renames the “Test npm” workflow to a more general “Test Build Processes”, which more accurately describes what is actually being tested within it and allows these new test jobs to be grouped in.

And finally, the logic within the workflow has been split out into two callable workflows. This helps avoid code duplication within the workflow, and allows for better grouping on the workflow run screen.

Props swissspidy, aferica, SergeyBiryukov, antonvlasenko, desrosj.
Fixes #59632. See #58671, #59634.
Built from https://develop.svn.wordpress.org/trunk@56976


git-svn-id: http://core.svn.wordpress.org/trunk@56487 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-20 14:56:21 +00:00
Sergey Biryukov 6fae0d706a External Libraries: Update getID3 to version 1.9.23.
The latest version includes numerous bug fixes, a few new features, as well as various improvements for PHP 8.1 and PHP 8.2 support.

This commit also includes PHPCS adjustments previously made for a passing PHP Compatibility scan.

References:
* [https://github.com/JamesHeinrich/getID3/releases/tag/v1.9.23 getID3 1.9.23 release notes]
* [https://github.com/JamesHeinrich/getID3/compare/v1.9.22...v1.9.23 Full list of changes in getID3 1.9.23]

Follow-up to [47601], [48278], [52254], [54376].

Props jrf.
Fixes #59683.
Built from https://develop.svn.wordpress.org/trunk@56975


git-svn-id: http://core.svn.wordpress.org/trunk@56486 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-20 13:29:27 +00:00
Felix Arntz bbe67a0147 Multisite: Ensure that switching sites resets the current theme directory globals.
The globals introduced in [56635] to cache the current theme directories in memory were not considering switching sites in a multisite network. This changeset addresses the bug including test coverage.

Props codex-m, jeremyfelt.
Fixes #59677.
See #18298.

Built from https://develop.svn.wordpress.org/trunk@56974


git-svn-id: http://core.svn.wordpress.org/trunk@56485 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-19 19:09:21 +00:00
desrosj 9b66ebdf48 Build/Test Tools: Skip Puppeteer download in build workflow.
This adds the `PUPPETEER_SKIP_DOWNLOAD` environment variable to the Build WordPress workflow to skip downloading Puppeteer browser binaries unnecessarily.

Follow up to [56958].

See #59416, #59517, #58863.
Built from https://develop.svn.wordpress.org/trunk@56973


git-svn-id: http://core.svn.wordpress.org/trunk@56484 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-19 15:05:24 +00:00
desrosj 207fe0533e Build/Test Tools: Don’t run the performance workflow when branching.
When a branch is created, there is no previous commit to reference in the `github.event.before` context, which causes the performance workflow to fail because there is no previous commit to perform a comparison with.

This adds a condition to check that `github.event.before` is not set to `0000000000000000000000000000000000000000`, which is the default value when there are no previous commits.

Props swissspidy.
See #588867.
Built from https://develop.svn.wordpress.org/trunk@56972


git-svn-id: http://core.svn.wordpress.org/trunk@56483 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-19 14:00:22 +00:00
Sergey Biryukov 73a3875f2b Tests: Improve the `@group` annotation accuracy and consistency.
Includes removing `.php` from some older group names, because most of the groups are no longer named based on the file containing the function, and sometimes functions move around, making the file-based group name inaccurate.

Props afercia, aristath, poena, SergeyBiryukov.
See #59647.
Built from https://develop.svn.wordpress.org/trunk@56971


git-svn-id: http://core.svn.wordpress.org/trunk@56482 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-19 13:53:24 +00:00
Bernhard Reiter b0da2934b9 Blocks: During traversal, allow post callback to modify block.
Both the `$pre_callback` and `$post_callback` functions that are given as arguments to `traverse_and_serialize_block(s)` receive a reference to the current block as their first argument. However, while any changes that the "pre" callback makes to the block are reflected by the serialized markup, the same wasn't true for the "post" callback: Any changes that it made were only applied ''after'' the block had already been serialized.

This commit changes the behavior such that `$post_callback`'s changes to the current block are also reflected in the serialized markup.

See #59646.
Props gziolo.
Fixes #59669.
Built from https://develop.svn.wordpress.org/trunk@56970


git-svn-id: http://core.svn.wordpress.org/trunk@56481 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-18 19:32:23 +00:00
Sergey Biryukov 1470782029 Tests: Remove some unnecessary `function_exists()` checks for compat functions.
Each of these functions already has a separate test for availability.

If any of them are unavailable, then the test should fail rather than be skipped.

Follow-up to [52038], [52039], [52040].

Props johnbillion.
See #59647.
Built from https://develop.svn.wordpress.org/trunk@56969


git-svn-id: http://core.svn.wordpress.org/trunk@56480 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-18 10:41:29 +00:00
hellofromTonya afa66e5fa0 Build/Test Tools: Fix WP version in package-lock.json.
After [56966], CI jobs that check the `package-lock.json` failed on the "Ensure version-controlled files are not modified or deleted" task.

There are 2 version fields that need to be updated for the new WP version. This changeset updates the "packages" > "version" for 6.5.0.

Follow-up to [56966].

Props swissspidy, benharri.
Unprops hellofromTonya.
Fixes #59665.
Built from https://develop.svn.wordpress.org/trunk@56968


git-svn-id: http://core.svn.wordpress.org/trunk@56479 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-17 20:36:26 +00:00
hellofromTonya da2e6dc4e3 Fix version number for 6.5-alpha.
Fixes the version number from [56966] to include its number in the version, as it is the commit that opened trunk for 6.5-alpha.

Follow-up to [56966].
Built from https://develop.svn.wordpress.org/trunk@56967


git-svn-id: http://core.svn.wordpress.org/trunk@56478 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-17 18:50:19 +00:00
hellofromTonya 891a9ecdaf Trunk is now 6.5 alpha.
Built from https://develop.svn.wordpress.org/trunk@56966


git-svn-id: http://core.svn.wordpress.org/trunk@56477 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-17 18:41:24 +00:00
hellofromTonya bfe933241e Post WordPress 6.4 RC1 version bump.
Built from https://develop.svn.wordpress.org/trunk@56964


git-svn-id: http://core.svn.wordpress.org/trunk@56475 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-17 17:46:44 +00:00
hellofromTonya 77df68f144 WordPress 6.4 RC1 - capitalize RC in version.
Capitalize RC in the version, i.e. just in case the build requires it.

Unprops hellofromTonya.
Built from https://develop.svn.wordpress.org/trunk@56963


git-svn-id: http://core.svn.wordpress.org/trunk@56474 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-17 17:27:20 +00:00
hellofromTonya fc3d3cf491 WordPress 6.4 RC1.
Built from https://develop.svn.wordpress.org/trunk@56962


git-svn-id: http://core.svn.wordpress.org/trunk@56473 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-17 17:19:23 +00:00
hellofromTonya e395ce0cf6 Editor: Bugfixes npm packages updates for 6.4 RC1.
Updates for needed bugfixes in RC1:

* [https://github.com/WordPress/gutenberg/pull/55212 Image: Reimplement lightbox trigger as a minimal button in corner of image]

* [https://github.com/WordPress/gutenberg/pull/55403 [Edit Widgets] Only suppress admin notices when JS enabled.]

Follow-up to [56849], [56818], [56816].

Props artemiosans, jameskoster, SantosGuillamot, aristath, czapla, joen, afercia, richtabor, peterwilsoncc, andraganescu, hellofromTonya, siobhyb.
See #59411.
Built from https://develop.svn.wordpress.org/trunk@56961


git-svn-id: http://core.svn.wordpress.org/trunk@56472 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-17 16:08:23 +00:00
Bernhard Reiter c054eef096 Patterns, Templates: Inject `theme` attr into Template Part blocks.
It was found that Template Part blocks were broken in the Site Editor, showing the `Template part has been deleted or is unavailable` message, due to a missing `theme` attribute.

This bug seems to have been introduced by [56896], whose goal was to only inject that attribute into the markup returned by the templates and patterns REST API endpoints but not on the frontend, in order to improve performance. It has been demonstrated locally that reverting that changeset fixes the bug.

Reverts [56896].
Props mmcalister, swisspidy, thelovelist, hellofromTonya, pbiron, Pauthake015, richtabor, nicolefurlan, huzaifaalmesbah, annezazu, kafleg, aegkr, sunitarai, shresthaaman, andraganescu, onemaggie, gziolo.
Fixes #59629.
Built from https://develop.svn.wordpress.org/trunk@56960


git-svn-id: http://core.svn.wordpress.org/trunk@56471 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-17 15:48:23 +00:00
hellofromTonya 3d5cf30808 Bundled Themes: Revert 56451.
Reverts [56451] to avoid the following issues:

* missing the default `font-size` for anyone who does not use the size control.
* unintentional reduction in citation's `line-height` down to the `--pullquote--line-height` value (1.3 instead of 1.6).

With 6.4 RC1 happening shortly, this revert is necessary to avoid shipping this issues in the release, while giving the time needed to resolve in the next cycle.

Follow-up to [56451].

Props sabernhardt, nicolefurlan.
See #57854.
Built from https://develop.svn.wordpress.org/trunk@56959


git-svn-id: http://core.svn.wordpress.org/trunk@56470 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-17 13:50:21 +00:00
zieladam 5dc3f83a07 Build/Test Tools: Store WordPress.zip for every GitHub Pull Request as a GitHub artifact.
Storing build files enables reusing them in WordPress Playground and ultimately implementing a Pull Request.

Props desrosj, bernhard-reiter
See #59416.


Built from https://develop.svn.wordpress.org/trunk@56958


git-svn-id: http://core.svn.wordpress.org/trunk@56469 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-17 13:42:19 +00:00
desrosj ceb29562f3 Build/Test Tools: Update build related dependencies.
This updates the following development dependencies to their latest versions:
- `postcss`
- `qunit`
- `sass`
- `webpack`

Additionally, `npm audit fix` has been run.

Fixes #58863.
Built from https://develop.svn.wordpress.org/trunk@56957


git-svn-id: http://core.svn.wordpress.org/trunk@56468 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-17 13:34:27 +00:00
desrosj 4ce3b9978e Build/Test Tools: Update the `caniuse-lite` database.
This updates the data for the `caniuse-lite` package and runs `grunt precommit:css`.

Fixes #58869.
Built from https://develop.svn.wordpress.org/trunk@56956


git-svn-id: http://core.svn.wordpress.org/trunk@56467 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-17 13:20:23 +00:00
desrosj ee64273620 Build/Test Tools: Add environment variable for current release.
This adds a global environment variable to the Test old branches workflow to make the supported version more clear and easier to update in the future. This will also make it easier to reference in more places as this workflow grows.

See #58867.
Built from https://develop.svn.wordpress.org/trunk@56955


git-svn-id: http://core.svn.wordpress.org/trunk@56466 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-17 12:44:25 +00:00
Pascal Birchler 9f39b4ea0f Build/Test Tools: Reinstate `PUPPETEER_SKIP_DOWNLOAD` for most CI workflows.
The `PUPPETEER_SKIP_DOWNLOAD` environment variable is used to prevent Puppeteer from automatically downloading browser binaries.
It was removed in [56926] due to the migration to Playwright. However, because of the QUnit tests, Puppeteer is actually still a dependency.

Until those tests change, we have to keep this environment variable to prevent unnecessary downloads on CI.

Props SergeyBiryukov.
Fixes #59517.
Built from https://develop.svn.wordpress.org/trunk@56954


git-svn-id: http://core.svn.wordpress.org/trunk@56465 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-17 11:29:27 +00:00
Sergey Biryukov fe3efe9810 HTML API: Scan to end of tag when getting updated HTML output.
When applying updates to HTML, one step was left out in [56941] which updated the position of the end of the current tag. This made it possible to create bookmarks with null or earlier end positions than their start position. This in turn broke the Directive Processor in Gutenberg during the backport of changes from Core into Gutenberg.

In this commit, after applying updates, the HTML document is now scanned fully to the end of the current tag, updating the internal pointer to its end, so that nothing else will be broken or misaligned.

Follow-up to [56941].

Props dmsnell.
Fixes #59643.
Built from https://develop.svn.wordpress.org/trunk@56953


git-svn-id: http://core.svn.wordpress.org/trunk@56464 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-17 10:39:27 +00:00
Sergey Biryukov 41a5f69fde Twenty Nineteen: Correct the required WordPress version in theme headers.
The required version was previously set to two different values:
* 4.7 in the theme's `functions.php` file.
* 4.9.6 in theme headers, because of the `the_privacy_policy_link()` function usage in `footer.php`.

However, as `the_privacy_policy_link()` call is wrapped in a `function_exists()` check, it does not affect the requirements in practice.

This commit aims to correct the discrepancy by updating theme headers to match the actual required WP version.

Follow-up to [43808], [43892].

Props poena, kafleg, felipeelia, audrasjb, huzaifaalmesbah, shailu25, nicolefurlan, oglekler.
Fixes #59557.
Built from https://develop.svn.wordpress.org/trunk@56952


git-svn-id: http://core.svn.wordpress.org/trunk@56463 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-17 09:54:23 +00:00
hellofromTonya 244f676c59 Twenty Twenty-Four: Bugfixes for 6.4 RC1.
Resyncing changes for TT4 into Core.

Changes include:
* Reformatted all the patterns for readability.
* Bugfixes in the markup and improvements on the string translation functions.
* Renaming of some patterns, making them consistent with the content they show and whether they are simple patterns, full-page patterns or patterns meant to replace templates.

Follow-up to [56813], [56764], [56716].

Props richtabor, onemaggie, luminuu, shailu25, dunhakdis, shivashankerbhatta, dajeema, enodekciw, kafleg, viralsampat, glendaviesnz, beafialho, webmandesign, huzaifaalmesbah, gregfuller, benharri.
Fixes #59640.
Built from https://develop.svn.wordpress.org/trunk@56951


git-svn-id: http://core.svn.wordpress.org/trunk@56462 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-17 02:14:24 +00:00
Aaron Jorbin 223c80ef92 Help/About: Update the About page for 6.4.
Also includes updates to the contribute, credits, freedom and privacy pages.

Props luminuu, rmartinezduque, estelaris, jorbin, mukesh27, cbringmann, richtabor, annezazu, nudge, ohia, acirujano, elmastudio, cathibosco1, sereedmedia, markoserb, joen. (Also someone named Allison who I am going to guess is Taylor Alison Swift but has no avatar so I will never know)

Built from https://develop.svn.wordpress.org/trunk@56950


git-svn-id: http://core.svn.wordpress.org/trunk@56461 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-17 02:02:24 +00:00
Peter Wilson 6876d19129 Options, Meta APIs: Prevent saving of invalid timezones.
Prevent the saving of invalid timezone string in to the database on the options pages. If an invalid timezone is submitted it is ignored and the setting remains unchanged.

This prevents a warning or fatal (depending on the PHP version) from being thrown by an invalid timezone setting on the Settings > General page.

Props ankit-k-gupta, costdev, huzaifaalmesbah, mrinal013, nicolefurlan, oglekler.
Fixes #58814.

Built from https://develop.svn.wordpress.org/trunk@56949


git-svn-id: http://core.svn.wordpress.org/trunk@56460 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-16 23:51:24 +00:00
Aaron Jorbin 86be091aba CSS: Run grunt `precommit:css` to update CSS.
See: #58869.
Props peterwilsoncc.



Built from https://develop.svn.wordpress.org/trunk@56948


git-svn-id: http://core.svn.wordpress.org/trunk@56459 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-16 21:48:24 +00:00
Joe McGill 807517a992 Options, Meta APIs: Delete leftover unit tests.
This is a followup to [56946] to commit the deletion of a leftover PHP Unit file.

See #22192.

Built from https://develop.svn.wordpress.org/trunk@56947


git-svn-id: http://core.svn.wordpress.org/trunk@56458 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-16 20:41:19 +00:00
Joe McGill 9a810ff5bc Options, Meta APIs: Revert update_option changes.
This reverts changes from [56648], [56681], [56717], [56762], [56788], [56797], and [56814] to restore the behavior for `update_option()` and `update_network_option()` to their prior state as of 6.3.X due to the discovery of various backwards compatibility issues found late in the 6.4 release cycle.

Props mukesh27, costdev, flixos90, spacedmonkey, snicco, jrf, joemcgill.
See #22192, #59360.

Built from https://develop.svn.wordpress.org/trunk@56946


git-svn-id: http://core.svn.wordpress.org/trunk@56457 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-16 20:37:23 +00:00
Tammie Lister 8325d334f6 Update editor related npm packages for 6.4 RC1.
The npm packages needed a second part to the update for 6.4 RC1.

Props isabel_brison, andrewserong, jsnajdr, wildworks, joen, mciampini, tyxla, youknowriad, ramonopoly, spacedmonkey, dmsnell, mikachan, kishanjasani, czapla, siobhyb, darerodz, luisherranz

See #59411.

Built from https://develop.svn.wordpress.org/trunk@56945


git-svn-id: http://core.svn.wordpress.org/trunk@56456 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-16 19:17:19 +00:00
desrosj aa29f65a28 Build/Test Tools: Downgrade `grunt-contrib-qunit` dependency.
`grunt-contrib-qunit` was upgraded from version `7.0.1` to `8.0.1` in [56647]. However, this update causes a strange failure when running the build script for the Gutenberg plugin when checked out within a `wordpress-develop` checkout.

This reverts the related change in [56647] and downgrades the dependency back to `7.0.1` until the exact reason for the failure is narrowed down.

Props afercia, kevin940726, antonvlasenko, desrosj.
See #59634, #58863.

Built from https://develop.svn.wordpress.org/trunk@56944


git-svn-id: http://core.svn.wordpress.org/trunk@56455 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-16 16:05:27 +00:00
Felix Arntz 41cf4f1521 General: Remove discouraged `@return void` annotations.
Such `@return void` annotations must not be used in WordPress core's PHP code, except bundled themes, third-party libraries, and PHP compatibility shims.

Props isabel_brison, swissspidy.
Fixes #59619.

Built from https://develop.svn.wordpress.org/trunk@56943


git-svn-id: http://core.svn.wordpress.org/trunk@56454 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-16 15:17:23 +00:00
Pascal Birchler a69a0dfcb0 Build/Test Tools: Ensure the failed workflow tasks run last for e2e tests.
This is a follow-up to [56926], where this logic has been reintroduced after it was originally removed in [56198].

Props desrosj.
See #59517.
Built from https://develop.svn.wordpress.org/trunk@56942


git-svn-id: http://core.svn.wordpress.org/trunk@56453 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-16 14:34:21 +00:00
Sergey Biryukov 89a5bbb997 HTML API: Avoid calling subclass method while internally scanning in Tag Processor.
After modifying tags in the HTML API, the Tag Processor backs up to before the tag being modified and then re-parses its attributes. This saves on the code complexity involved in applying updates, which have already been transformed to “lexical updates” by the time they are applied.

In order to do that, `::get_updated_html()` called `::next_tag()` to reuse its logic. However, as a public method, subclasses may change the behavior of that method, and the HTML Processor does just this. It maintains an HTML stack of open elements and when the Tag Processor calls this method to re-scan a tag and its attributes, it leads to a broken stack.

This commit replaces the call to `::next_tag()` with a more appropriate reapplication of its internal parsing logic to rescan the tag name and its attributes. Given the limited nature of what's occurring in `::get_updated_html()`, this should bring with it certain guarantees that no HTML structure is being changed (that structure will only be changed by subclasses like the HTML Processor).

Follow-up to [56274], [56702].

Props dmsnell, zieladam, nicolefurlan.
Fixes #59607.
Built from https://develop.svn.wordpress.org/trunk@56941


git-svn-id: http://core.svn.wordpress.org/trunk@56452 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-16 14:01:27 +00:00
Peter Wilson 09554030d4 Twenty Thirteen, Twenty Sixteen: Use default display for summary element.
Within the details block, style the `summary` element using the default display, `list-item`, this ensures the toggle icon appears indicating the summary can be expanded or contracted.

Props ankit-k-gupta, nicolefurlan, poena, sabernhardt.
Fixes #58915.

Built from https://develop.svn.wordpress.org/trunk@56940


git-svn-id: http://core.svn.wordpress.org/trunk@56451 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-16 04:43:22 +00:00
costdev 13854cd7f5 Posts, Post Types: Don't force trailing slash in `get_pagenum_link()`.
Previously, a trailing slash was appended to the link returned from `get_pagenum_link()`. If the permalink structure didn't contain a trailing slash, this link could fail.

This change removes trailing slashes and only appends one if the site is set for adding trailing slashes.

This adds a new test file for the accompanying tests, `tests/phpunit/tests/link/getPagenumLink.php`, and moves an existing test for `get_pagenum_link()` to the same file.

Props davemad-davenet, darkfate, Nazgul, scribu, nacin, obenland, chriscct7, jesin, matthewppelsheimer, audrasjb, petitphp, mukesh27, oglekler, mai21, webtechpooja, tejwanihemant, nicolefurlan, hellofromTonya, costdev.
Fixes #2877.
Built from https://develop.svn.wordpress.org/trunk@56939


git-svn-id: http://core.svn.wordpress.org/trunk@56450 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-16 00:07:26 +00:00
hellofromTonya 464868a475 Code Modernization: Declare dynamic properties on WP_Text_Diff_Renderer_Table.
Core uses 3 known, named, dynamic properties on the `WP_Text_Diff_Renderer_Table` class:

* `_title`
* `_title_left`
* `_title_right`

When reviewing revisions (within the admin UI), `wp_text_diff()` passes the arguments (without the leading `_`) to a new instance, which raised deprecation notices (see [56354]).

Note: the parent class adds the leading `_` to each of these properties (see [7747]).

The deprecation notices are resolved by declaring each of these known, named, dynamic properties on the class, per the #56034 mitigation strategy. These new properties are not initialized to retain their previous `null` behavior.

Follow-up to [56354], [23506], [7747].

Props wildworks, antonvlasenko, hellofromTonya, ironprogrammer, kafleg, mukesh27, nicolefurlan, presskopp, sabernhardt.
Fixes #59431.
See #58898, #56034.
Built from https://develop.svn.wordpress.org/trunk@56938


git-svn-id: http://core.svn.wordpress.org/trunk@56449 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-15 14:55:23 +00:00
hellofromTonya 23ac8fbfe6 Users: Show "Password reset link sent" message only when finished.
When an admin sends a password reset link to a user (from the Users UI screen), the "finished" UI message:

>Password reset link sent.

is displayed on "finished" and no longer displayed on error.

**What is the change?**

Previously, the conditional (for incrementing the reset counter) checked for a truthy return from `retrieve_password()`. But `retrieve_password()` always returns a truthy state: `true` (meaning "finished") or an instance of `WP_Error`. Thus, checking for a truthy meant the "finished" message was sent on both "finished" and error/failed.

This fix checks for `retrieve_password()` returning `true` to indicate "finished".

**What is displayed on error?**

If `retrieve_password()` returns an instance of `WP_Error`, the following UI message is shown:

>Password reset links sent to 0 users.

The UI messages were not modified by this changeset.

Follow-up to [50129].

Props letraceursnork, prashantbhivsane, audrasjb, costdev, dilipbheda, hareesh-pillai, hellofromTonya, ironprogrammer, huzaifaalmesbah, marybaum, nicolefurlan, oglekler, petitphp, SergeyBiryukov.
Fixes #58407.
Built from https://develop.svn.wordpress.org/trunk@56937


git-svn-id: http://core.svn.wordpress.org/trunk@56448 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-15 14:04:23 +00:00
Sergey Biryukov d80a03fa4f Tests: Reset the current user before performing assertions in some comment tests.
This aims to avoid affecting other tests in case of failure.

Follow-up to [54527].

See #58955.
Built from https://develop.svn.wordpress.org/trunk@56936


git-svn-id: http://core.svn.wordpress.org/trunk@56447 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-15 08:09:27 +00:00
Sergey Biryukov 00cabf08ae Twenty Nineteen: Correctly display default color names in the color palette.
Instead of displaying the color names, two of the default colors displayed the color code, which was only intended to show when the user has enabled the custom color option in the Customizer.

The reason is that the default value for the option is `false`, and this value is changed to the string `'custom'` if the color option is enabled, and the string `'default'` if the custom color is enabled and then reset to default colors.

This commit adjusts the logic for displaying the color name, to make sure that the string value `'default'` is not compared with `false`, by adding the default value as a parameter to `get_theme_mod( 'primary_color' )`.

Follow-up to [45964].

Props poena, mukesh27, ugyensupport, shailu25, anveshika, harshgajipara, nicolefurlan, syamraj24, balub, vivekawsm.
Fixes #59566.
Built from https://develop.svn.wordpress.org/trunk@56935


git-svn-id: http://core.svn.wordpress.org/trunk@56446 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-14 12:22:27 +00:00
Pascal Birchler 7a3a97592d Build/Test Tools: Do not round percentages when comparing performance test results.
Props joemcgill.
See #59517.
Built from https://develop.svn.wordpress.org/trunk@56934


git-svn-id: http://core.svn.wordpress.org/trunk@56445 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-13 20:05:23 +00:00
Weston Ruter 793eaf7f19 Script Loader: Move delayed head script to footer when there is a blocking footer dependent.
This prevents a performance regression when a blocking script is enqueued in the footer which depends on a delayed script in the `head` (with `async` or `defer`). In order to preserve the execution order, a delayed dependency must fall back to blocking when there is a blocking dependent. But since it was originally delayed (and thus executes similarly to a footer script), it does not need to be in the head and can be moved to the footer. This prevents blocking the critical rendering path.

Props adamsilverstein, westonruter, flixos90.
Fixes #59599.
See #12009.

Built from https://develop.svn.wordpress.org/trunk@56933


git-svn-id: http://core.svn.wordpress.org/trunk@56444 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-13 18:46:21 +00:00
Weston Ruter a17a3ca214 Script Loader: Enqueue inline style for block template skip link in head instead of footer.
* Introduce `wp_enqueue_block_template_skip_link()` to replace `the_block_template_skip_link()`. Add to `wp_enqueue_scripts` action instead of `wp_footer`.
* Keep inline script for skip link in footer.
* Restore original `the_block_template_skip_link()` from 6.3 and move to `deprecated.php`.
* Preserve back-compat for unhooking skip-link by removing `the_block_template_skip_link` from `wp_footer` action.

Follow-up to [56682] and [56687].

Props sabernhardt, plugindevs, westonruter, spacedmonkey.
Fixes #59505.
See #58775.
See #58664.

Built from https://develop.svn.wordpress.org/trunk@56932


git-svn-id: http://core.svn.wordpress.org/trunk@56443 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-13 17:21:22 +00:00
Felix Arntz 0ade48d1e2 Themes: Clear existing pattern cache when in theme development mode and prevent PHP warning due to missing file.
Follow up to [56765].

Props spacedmonkey, afercia, jrf, flixos90.
Fixes #59591.
See #59490.

Built from https://develop.svn.wordpress.org/trunk@56931


git-svn-id: http://core.svn.wordpress.org/trunk@56442 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-13 16:46:25 +00:00
Pascal Birchler 50694cec94 Build/Test Tools: Fix path check when comparing performance test results.
This is a follow-up to r56926, r56927, r56928.

See #59517.
Built from https://develop.svn.wordpress.org/trunk@56930


git-svn-id: http://core.svn.wordpress.org/trunk@56441 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-13 12:34:22 +00:00
Sergey Biryukov 163f5e566f Media: Consistently call the `wp_create_file_in_uploads` hook as a filter.
The filter was initially introduced for file replication purposes. Since the returned value is not always used directly, some instances were later converted to an action as part of removing unused variables, and the hook was documented as an action while still being called as a filter in other instances.

This commit aims to correct the discrepancy between the code and the documentation.

Follow-up to [4673], [4817], [4818], [6363], [6551], [13041], [25821], [33154], [33280].

Props Howdy_McGee, nicolefurlan, johnbillion, mhshujon, SergeyBiryukov.
Fixes #57775.
Built from https://develop.svn.wordpress.org/trunk@56929


git-svn-id: http://core.svn.wordpress.org/trunk@56440 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-13 12:20:20 +00:00
Pascal Birchler 7fb21f4110 Build/Test Tools: Fix file prefix handling in performance test results.
This is a follow-up to r56926.

See #59517.
Built from https://develop.svn.wordpress.org/trunk@56928


git-svn-id: http://core.svn.wordpress.org/trunk@56439 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-13 11:30:23 +00:00
Pascal Birchler ed4ba3bf53 Build/Test Tools: Revert accidental change to `Gruntfile.js`
This is a follow-up to r56926.

See #59517.
Built from https://develop.svn.wordpress.org/trunk@56927


git-svn-id: http://core.svn.wordpress.org/trunk@56438 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-13 08:15:21 +00:00
Pascal Birchler afec89634b Build/Test Tools: Migrate Puppeteer tests to Playwright.
As per the migration plan shared last year, this migrates all browser-based tests in WordPress core to use Playwright.
This includes end-to-end, performance, and visual regression tests.

Props swissspidy, mamaduka, kevin940726, bartkalisz, desrosj, adamsilverstein.
Fixes #59517.
Built from https://develop.svn.wordpress.org/trunk@56926


git-svn-id: http://core.svn.wordpress.org/trunk@56437 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-13 08:13:28 +00:00
Peter Wilson 4258f31a3b Query: Cache post parent IDs in `posts` group.
Move the cache of post parent IDs from the dedicated group `post_parents` to `posts`. This maintains backward compatibility for clearing all post object related data by calling `wp_cache_flush_group( 'posts' )`.

Post parent IDs are now cached with with the prefix `post_parent:` in the `posts` group.

Follow up to [56763].

Props spacedmonkey, joemcgill, peterwilsoncc.
See #59188.

Built from https://develop.svn.wordpress.org/trunk@56925


git-svn-id: http://core.svn.wordpress.org/trunk@56436 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-12 23:41:23 +00:00
Aaron Jorbin 929aa8b970 Post WordPress 6.4 Beta 4 version bump.
Built from https://develop.svn.wordpress.org/trunk@56923


git-svn-id: http://core.svn.wordpress.org/trunk@56434 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-12 20:49:22 +00:00
Aaron Jorbin d5a5b22dc0 WordPress 6.4 Beta 4.
Built from https://develop.svn.wordpress.org/trunk@56922


git-svn-id: http://core.svn.wordpress.org/trunk@56433 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-12 20:27:25 +00:00
Bernhard Reiter 8a7d30c7f8 Patterns: Don't inject `theme` attribute on frontend.
Having the patterns registry inject the `theme` attribute into all Template Part blocks inside every pattern was found to negatively impact performance. It turns out that it's only required for the editor (i.e. in the REST API) but not on the frontend; there, it's instead possible to fall back to the currently active theme.

The latter change was made to the Pattern and Template Part blocks in https://github.com/WordPress/gutenberg/pull/55217, which was sync'ed to Core in [56849]. Consequently, this changeset removes `theme` attribute insertion from the frontend.

Props flixos90, gziolo, dmsnell, hellofromtonya.
Fixes #59583.
Built from https://develop.svn.wordpress.org/trunk@56896


git-svn-id: http://core.svn.wordpress.org/trunk@56407 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-12 18:44:45 +00:00
hellofromTonya 5ac76255a9 Editor: Update npm packages ahead of 6.4 RC1.
Updates the npm packages and code for:

* [https://github.com/WordPress/gutenberg/pull/55121 List: fix forward merging of nested list]

* [https://github.com/WordPress/gutenberg/pull/55182 Update consent string for using private APIs.]

* [https://github.com/WordPress/gutenberg/pull/55204 useBlockSettings: add missing useMemo dependencies]

* [https://github.com/WordPress/gutenberg/pull/55120 Remove the lightbox filter and view file when the lightbox setting is disabled.]

* [https://github.com/WordPress/gutenberg/pull/55245 Patterns: Remove the version enforcement for npm in engines field]

* [https://github.com/WordPress/gutenberg/pull/55237 Remove `@return void` from PHP function docs]

* [https://github.com/WordPress/gutenberg/pull/55141 Image: Disable lightbox editor UI for linked images]

* [https://github.com/WordPress/gutenberg/pull/55269 Image: Stop crashing with Lightbox on image blocks without an image]

* [https://github.com/WordPress/gutenberg/pull/55021 Update fullscreen icon]

* [https://github.com/WordPress/gutenberg/pull/55217 Template Part block: Fall back to current theme if no theme attribute is given.] This change is part of fix for a performance regression re-introduced by [56818].

References:
* [https://github.com/WordPress/gutenberg/pull/55298 Gutenberg PR 55298] Cherry-pick commits

Follow-up to [56818], [56816].

Props ellatrix, peterwilsoncc, jsnajdr, afercia, gziolo, isabel_brison, artemiosans, richtabor, bernhard-reiter, flixos90, mikachan, spacedmonkey, hellofromTonya.
See #59583, #59411.
Built from https://develop.svn.wordpress.org/trunk@56849


git-svn-id: http://core.svn.wordpress.org/trunk@56361 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-12 13:58:15 +00:00
desrosj 5a306cc56d Editor: Move footnotes block hooks to `default-filters.php`
Follow up to [56839].
Built from https://develop.svn.wordpress.org/trunk@56845


git-svn-id: http://core.svn.wordpress.org/trunk@56357 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-12 13:28:23 +00:00
Aaron Jorbin 9f7edd0413 Editor: Harden the display of footnotes.
Props: jorgefilipecosta, peterwilsoncc, costdev, xknown, jorbin.

Built from https://develop.svn.wordpress.org/trunk@56839


git-svn-id: http://core.svn.wordpress.org/trunk@56351 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-12 12:58:23 +00:00
audrasjb f3ccbed586 Shortcodes: Restrict ajax handler for media shortcode.
Props tykoted, xknown, peterwilsoncc, antpb, jorbin.




Built from https://develop.svn.wordpress.org/trunk@56838


git-svn-id: http://core.svn.wordpress.org/trunk@56350 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-12 12:47:21 +00:00
Aaron Jorbin bd5486577c Application Passwords: Prevent the use of some pseudo protocols in application passwords.
Props tykoted, xknown, peterwilsoncc, jorbin, timothyblynjacobs, martinkrcho, paulkevan, dd32, ehtis.

Built from https://develop.svn.wordpress.org/trunk@56837


git-svn-id: http://core.svn.wordpress.org/trunk@56349 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-12 12:41:18 +00:00
audrasjb 4f5be9b7de Comments: Prevent users who can not see a post from seeing comments on it.
Props peterwilsoncc, jorbin, audrasjb.




Built from https://develop.svn.wordpress.org/trunk@56836


git-svn-id: http://core.svn.wordpress.org/trunk@56348 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-12 12:38:21 +00:00
Aaron Jorbin 0b35c4e2bf Prevent unintended behavior when certain objects are unserialized.
Props ehtis, xknown.

Built from https://develop.svn.wordpress.org/trunk@56835


git-svn-id: http://core.svn.wordpress.org/trunk@56347 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-12 12:34:33 +00:00
Aaron Jorbin 3f1e6a6a50 REST API: Ensure no-cache headers are sent when methods are ovverriden.
Props tykoted, xknown, ehtis, timothyblynjacobs, peterwilsoncc, rmccue, jorbin.

Built from https://develop.svn.wordpress.org/trunk@56834


git-svn-id: http://core.svn.wordpress.org/trunk@56346 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-12 12:32:32 +00:00
audrasjb 4cfb52760f REST API: Limit `search_columns` for users without `list_users`.
Props Vortfu, jorbin, joehoyle, timothyblynjacobs, peterwilsoncc, ehtis.




Built from https://develop.svn.wordpress.org/trunk@56833


git-svn-id: http://core.svn.wordpress.org/trunk@56345 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-12 12:30:20 +00:00
Sergey Biryukov 598f1aeeb9 Twenty Nineteen: Add margins to editor iframe content.
At screen widths of at least 768px (tablet size), Twenty Nineteen should have a `max-width` and side margins for content in the post editor.

This commit applies that style to the new `.block-editor-iframe__body` class, resolving an issue where full-width blocks had a horizontal scrollbar in the editor iframe.

Props sabernhardt, smit08, nidhidhandhukiya, mukesh27, darshitrajyaguru97, oglekler, poena, shailu25, nicolefurlan.
Fixes #59449.
Built from https://develop.svn.wordpress.org/trunk@56832


git-svn-id: http://core.svn.wordpress.org/trunk@56344 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-12 10:17:27 +00:00
desrosj b918d61236 Build/Test Tools: Remove hardcoded PHPUnit config files.
The configuration file passed to the callable workflow contains the correct one to use.

See #58955.
Built from https://develop.svn.wordpress.org/trunk@56831


git-svn-id: http://core.svn.wordpress.org/trunk@56343 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-11 18:09:24 +00:00
desrosj 3e66d7d2e4 Build/Test Tools: Increase the timeout for the failed workflow.
Following [56829], the previous `timeout-minutes` value of `5` is insufficient when approaching 10 retries.

See #58867.
Built from https://develop.svn.wordpress.org/trunk@56830


git-svn-id: http://core.svn.wordpress.org/trunk@56342 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-11 17:15:27 +00:00
desrosj 099146c20a Build/Test Tools: Increase the number of retries when restarting a workflow.
This increases the number of times to retry restarting a workflow from 2 to 10. Retries use exponential backoff to space out retries.

In most cases, only 2 retries was sufficient. However, there are occasionally scenarios where the original workflow is still running and cannot be restarted, resulting in an error. This typically happens during periods of ongoing service degradation, or workflows with a significant number of jobs (GitHub Actions is sometimes very slow to mark these as finished).

See #58867.
Built from https://develop.svn.wordpress.org/trunk@56829


git-svn-id: http://core.svn.wordpress.org/trunk@56341 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-11 15:56:24 +00:00
Felix Arntz eae31174d2 Editor: Add further test coverage for `wp_render_elements_support()`.
Props dmsnell, aaronrobertshaw.
Fixes #59578.

Built from https://develop.svn.wordpress.org/trunk@56828


git-svn-id: http://core.svn.wordpress.org/trunk@56340 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-10-11 15:15:30 +00:00