Commit Graph

49856 Commits

Author SHA1 Message Date
Sergey Biryukov 3c44824db7 Tests: Use `assertSame()` in `WP_Theme_JSON` tests.
This ensures that not only the return values match the expected results, but also that their type is the same.

Going forward, stricter type checking by using `assertSame()` should generally be preferred to `assertEquals()` where appropriate, to make the tests more reliable.

Follow-up to [55959], [55986], [57547], [57716], [58244], [58422].

See #60706.
Built from https://develop.svn.wordpress.org/trunk@58478


git-svn-id: http://core.svn.wordpress.org/trunk@57927 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-24 15:16:27 +00:00
audrasjb 10c123044c HTML API: Code improvements following [58472].
Props xknown, jorbin.
Unprops audrasjb.



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


git-svn-id: http://core.svn.wordpress.org/trunk@57922 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-24 14:57:13 +00:00
audrasjb 46851b83eb HTML API: Run URL attributes through `esc_url()`.
Props dmsnell, xknown, jorbin, gziolo.



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


git-svn-id: http://core.svn.wordpress.org/trunk@57921 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-24 14:45:10 +00:00
audrasjb 31465cc574 Editor: Sanitize Template Part HTML tag on save.
Props xknown, peterwilsoncc, jorbin, bernhard-reiter, azaozz.



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


git-svn-id: http://core.svn.wordpress.org/trunk@57920 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-24 14:42:09 +00:00
audrasjb abc2db829a Editor: Fix Path Traversal issue on Windows in Template-Part Block.
Props xknown.



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


git-svn-id: http://core.svn.wordpress.org/trunk@57919 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-24 14:38:16 +00:00
Tammie Lister 5e554da546 Twenty Seventeen: Resolves default border style visibility for pullquote block.
When a border color and width was added to the pullquote block but no border style was chosen the border was not visible. The expectation is that the border has a solid style by default when a color is selected.

Props pranitdugad, poena, sabernhardt.
Fixes #61362.

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


git-svn-id: http://core.svn.wordpress.org/trunk@57918 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-24 11:19:13 +00:00
oandregal 2db12b5ec2 Format: fix spaces for @param.
Props oandregal, mukesh27.

See #61451.


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


git-svn-id: http://core.svn.wordpress.org/trunk@57917 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-24 10:33:15 +00:00
Tammie Lister 80d42663e6 Twenty Twenty-Three: Resolves aubergine variation background implementation height impact on header.
The aubergine header causes issues when a block can change the page height. This resolves that swapping to clamp.

Props annezazu, sabernhardt, mikachan.
Fixes #58475.

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


git-svn-id: http://core.svn.wordpress.org/trunk@57916 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-24 10:27:13 +00:00
oandregal 6476fd96ec Section styles: improve performance and conceptual consistency.
These changes involve:

- Move shared variation definitions from styles.blocks.variations to styles.variations
- Remove blockTypes from styles.variations.
- Do not register shared variations from theme style variation or primary theme.json files.
- Move the merging of theme.json data into the WP_Theme_JSON_Resolver and WP_Theme_JSON classes.

These changes improve performance and are more future-proof API wise.
See conversation at https://github.com/WordPress/gutenberg/issues/62686

Props aaronrobertshaw, oandregal, andrewserong, joemcgill, talldanwp, andrewserong, ramonopoly, richtabor, youknowriad.

See #61312, #61451.

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


git-svn-id: http://core.svn.wordpress.org/trunk@57915 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-24 08:51:16 +00:00
Tammie Lister 7ef5f945dc Twenty Twenty-One: Fixes compiling tests [58464].
Compiling fix to sort tests.

See #61082.

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


git-svn-id: http://core.svn.wordpress.org/trunk@57914 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-23 14:52:10 +00:00
Tammie Lister fe4e25babc Twenty Twenty-One: Fixes font size difference in latest comments block.
The font size was different in the last comments block depending on if it was in the editor or front. This resolves that by checking block for special font size before applying default and using inherit for nested elements.

Props pitamdey, sabernhardt.
Fixes #61082.

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


git-svn-id: http://core.svn.wordpress.org/trunk@57913 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-23 14:38:11 +00:00
Tammie Lister f46632a0f1 Twenty Fourteen: Resolves post content links not being underlined.
In the page list block the text decoration was not the same on the front as the editor. This adds underline to links when in the post editor classic or block. This does not resolve the font size issue that needs to be fixed in block editor reset styles.

Props viralsampat, sabernhardt.
Fixes #61441.

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


git-svn-id: http://core.svn.wordpress.org/trunk@57912 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-23 13:37:16 +00:00
Sergey Biryukov 5bde3fbd1f Tests: Use `assertSame()` in `wp_get_block_css_selector()` tests.
This ensures that not only the return values match the expected results, but also that their type is the same.

Going forward, stricter type checking by using `assertSame()` should generally be preferred to `assertEquals()` where appropriate, to make the tests more reliable.

Follow-up to [56058].

See #60705.
Built from https://develop.svn.wordpress.org/trunk@58462


git-svn-id: http://core.svn.wordpress.org/trunk@57911 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-23 11:40:14 +00:00
Tammie Lister c8ae20d663 Twenty Seventeen: Resolves calendar block header cells not centering.
The calendar header block cells were not centered. This resolves that both in front and back.

Props nkeller15, sabernhardt, shailu25.
Fixes #58547.

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


git-svn-id: http://core.svn.wordpress.org/trunk@57910 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-23 10:36:13 +00:00
Sergey Biryukov 1925595cd8 Networks and Sites: Exit after `wp_redirect()` in `wp-admin/ms-options.php`.
This brings more consistency with the other files having the same pattern:

* `wp-admin/moderation.php`
* `wp-admin/ms-admin.php`
* `wp-admin/ms-edit.php`
* `wp-admin/ms-sites.php`
* `wp-admin/ms-themes.php`
* `wp-admin/ms-upgrade-network.php`
* `wp-admin/ms-users.php`

Follow-up to [15481], [16847].

Props jigar-bhanushali, jorbin, johnbillion, Presskopp, rajinsharwar, audrasjb, SergeyBiryukov.
Fixes #60926.
Built from https://develop.svn.wordpress.org/trunk@58460


git-svn-id: http://core.svn.wordpress.org/trunk@57909 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-22 11:47:16 +00:00
audrasjb 22f7f98451 Twenty Twenty-Three: Remove untranslatable text strings in pagination links.
This changeset removes text strings from the query pagination block that are not translatable without adding them to patterns.
This means that the texts now use the default translation for the block from WordPress, not the theme. The archive, search and home templates now match the text in the query pagination in the index template.

Props poena.
Fixes #60298.



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


git-svn-id: http://core.svn.wordpress.org/trunk@57908 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-22 07:33:14 +00:00
Sergey Biryukov ed8ccc7536 Tests: Use named data provider in `iso8601_to_datetime()` tests.
Follow-up to [54230], [58164].

See #60705.
Built from https://develop.svn.wordpress.org/trunk@58458


git-svn-id: http://core.svn.wordpress.org/trunk@57907 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-21 21:36:16 +00:00
joedolson 9360266c51 Media: Fix implicit conversion from float to int in image cropping.
Cast crop values to integers to prevent PHP error caused by implicit conversion from `float` to `int` values when cropping images using ImageMagick.

Props skithund, mai21, nicomollet, amanias1977, joedolson.
Fixes #59782.
Built from https://develop.svn.wordpress.org/trunk@58457


git-svn-id: http://core.svn.wordpress.org/trunk@57906 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-21 20:37:11 +00:00
joedolson 10bccbd392 Media: Fix admin image cropping calculations.
The admin image editor crop function introduced rounding errors by using a scaled image to calculate values. Fix uses the image at 100% scale for calculations. Also avoid recalculating selection when the selection position is changed, and prevent incorrect values after scaling or restoration.

Props Jossnaz, johnillo, shailu25, rachelbaker, sudipatel007, joedolson.
Fixes #32282.
Built from https://develop.svn.wordpress.org/trunk@58456


git-svn-id: http://core.svn.wordpress.org/trunk@57905 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-21 19:51:15 +00:00
joedolson 53a0d9e498 Administration: A11y: Add `role="alert"` on JS injected admin notices.
Add the attribute `role="alert"` on 12 instances of admin notices that are injected into the DOM using JavaScript. The `role="alert"` attribute allows screen readers to recognize the addition to the DOM and announce the errors to users.

Props afercia, cyrus11, rcreators, joedolson.
Fixes #47111.
Built from https://develop.svn.wordpress.org/trunk@58455


git-svn-id: http://core.svn.wordpress.org/trunk@57904 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-21 18:17:14 +00:00
hellofromTonya 754f50d1b9 Docs: Document `$clauses` associative array in `*-clauses` filters.
Document each element within the filter parameter `$clauses` associative array structure for the `'comments_clauses'`, `'networks_clauses'`, and `'sites_clauses'` filters.

This change:
* Brings consistency amongst the `WP_[*_]Query` filters.
* Helps to improve understanding.
* Helps to avoid confusion of the purpose for `pieces` and `clauses`.

Follow-up to [53376], [53375], [52974].

Props david.binda, audrasjb, hellofromTonya, ironprogrammer, johnbillion, oglekler, SergeyBiryukov.
Fixes #61307.
Built from https://develop.svn.wordpress.org/trunk@58454


git-svn-id: http://core.svn.wordpress.org/trunk@57903 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-21 17:26:14 +00:00
Tammie Lister 953941b344 Twenty Eleven: Resolves pullquote block ignoring font weight and style settings.
The pullquote block was ignoring font weight and style settings. This now brings in a fix using inherit.

Props nidhidhandhukiya, desrosj, sabernhardt.
Fixes #56695.

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


git-svn-id: http://core.svn.wordpress.org/trunk@57902 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-21 14:31:15 +00:00
jorgefilipecosta 2613ed9ea5 REST API: Add template and template_lock to post types endpoint.
Adds template and template_lock property of the post type to post types REST API endpoint.
This change allows us to fix a bug where the template of a page is not respected when creating a new page on the site editor.

Props jorgefilipecosta, oandregal, timothyblynjacobs, mukesh27.
Fixes #61477.
Built from https://develop.svn.wordpress.org/trunk@58452


git-svn-id: http://core.svn.wordpress.org/trunk@57901 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-21 13:06:12 +00:00
Tammie Lister 3e0408db89 Twenty Nineteen: Includes a contributing text file with Sass compiler instructions.
This adds in a useful file to know how to compiled this theme. As there was previously a contributing file with instruction on this in the GitHub repo that was not brought into svn, this fixes that.

Props kjeller, nielslange, sabernahardt.
Fixes #46108.

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


git-svn-id: http://core.svn.wordpress.org/trunk@57900 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-21 10:27:17 +00:00
joedolson 95971e18b1 Editor: A11y: Set ARIA attributes for Classic Editor link inserter.
Set `aria-modal` and `aria-hidden` attributes when the Classic Editor link inserter modal is active, so that content behind the modal will be properly treated as inert when interacting with the modal.

Props lyonmuller, jwgoedert, sabernhardt, alexstine, afercia, rajinsharwar, rcreators, audrasjb, hmbashar, joedolson.
Fixes #60799.
Built from https://develop.svn.wordpress.org/trunk@58450


git-svn-id: http://core.svn.wordpress.org/trunk@57899 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-20 20:27:11 +00:00
joedolson 026c9a8585 Administration: A11y: Use `aria-haspopup` only if item has popup behavior.
Update behavior of admin menu so that the `aria-haspopup` attribute is only applied in responsive mode, when there is a popup behavior present. Add `aria-expanded` attributes to report current popup state.

Props afercia, khokansardar, ryokuhi, joedolson.
Fixes #43095.
Built from https://develop.svn.wordpress.org/trunk@58449


git-svn-id: http://core.svn.wordpress.org/trunk@57898 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-20 19:41:15 +00:00
Adam Silverstein ed1f32fac7 Media: improve titles when inserting via REST API.
Match the naming behavior for uploaded media in the REST API to the way media is named when uploading in the media library. Fix an issue where dashes were replacing spaces unnecessarily. 

Props abitofmind, kadamwhite, spacedmonkey, adamsilverstein, audrasjb, hellofromTonya.
Fixes #57957.


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


git-svn-id: http://core.svn.wordpress.org/trunk@57896 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-20 16:04:12 +00:00
Sergey Biryukov f4989bdf32 Plugins: Correct plugin card layout when incompatible plugin message is displayed.
This replaces an erroneous `printf()` call with `sprintf()` that was missed when updating this fragment to use `wp_admin_notice()`.

Follow-up to [56571].

Props wojtekn, sabernhardt, rajinsharwar.
Fixes #61465.
Built from https://develop.svn.wordpress.org/trunk@58446


git-svn-id: http://core.svn.wordpress.org/trunk@57895 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-20 15:32:11 +00:00
isabel_brison 43b4079e2b Editor: fix root padding for children of alignfull flow layouts.
Updates the root padding CSS selectors so direct children of full width container blocks with flow layout receive padding.

Props isabel_brison, aaronrobertshaw.
Fixes #61464.

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


git-svn-id: http://core.svn.wordpress.org/trunk@57893 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-20 08:03:14 +00:00
Joe McGill b9096d9c7f Editor: Improve compatibility for `WP_Theme_JSON_Data`.
This checks that objects returned from any of the `wp_theme_json_data_` filters are `WP_Theme_JSON_Data` objects in order to avoid incompatibilities. Otherwise, reprocess the theme.json data as new `WP_Theme_JSON` objects to ensure the data matches the expectations of code consuming that data.

Follow-up to [58185].

Props joemcgill, adamsilverstein, oandregal, ryelle, ocean90, pbearne.
See #61112.

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


git-svn-id: http://core.svn.wordpress.org/trunk@57892 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-19 16:41:13 +00:00
Sergey Biryukov dd55b026a8 Twenty Seventeen: Optimize theme screenshot.
This further reduces image size by ~1.5 KB after running `npm run grunt precommit:image`.

Follow-up to [38833], [57322].

See #58996.
Built from https://develop.svn.wordpress.org/trunk@58442


git-svn-id: http://core.svn.wordpress.org/trunk@57891 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-19 10:33:13 +00:00
dmsnell c15b15dd66 HTML API: Prevent Open Elements class from waking up.
This class accepts a Closure, but it should not be possible
to wake up with one from a serialized class instance.

Developed in https://github.com/WordPress/wordpress-develop/pull/6852
Discussed in https://core.trac.wordpress.org/ticket/61348

Props jonsurrell.
See #61348.
Follow-up to [58304].

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


git-svn-id: http://core.svn.wordpress.org/trunk@57890 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-18 17:41:08 +00:00
hellofromTonya 6eef6c73ce Post WordPress 6.6 Beta 3.
Built from https://develop.svn.wordpress.org/trunk@58440


git-svn-id: http://core.svn.wordpress.org/trunk@57889 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-18 16:32:11 +00:00
hellofromTonya c09558808f WordPress 6.6 Beta 3.
Built from https://develop.svn.wordpress.org/trunk@58439


git-svn-id: http://core.svn.wordpress.org/trunk@57888 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-18 16:19:10 +00:00
hellofromTonya b037dc4c00 Toolbar: Fix ARIA [role] on menu descendants.
Adds a `role="group"` to the WordPress admin bar menu list items to fix the following accessibility issue:
{{{
Elements with an ARIA [role] that require children to contain a specific [role] are missing some or all of those required children.
}}}

Reference:
* [https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/group_role ARIA: group role] via mdn web docs

Follow-up to [42128], [21193], [19558]. 

Props heinperu, joedolson, krupajnanda, rajinsharwar, rcreators, sabernhardt.
Fixes #60919.
Built from https://develop.svn.wordpress.org/trunk@58438


git-svn-id: http://core.svn.wordpress.org/trunk@57887 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-18 14:52:07 +00:00
hellofromTonya f5aa4c90bc Code Modernization: Fix non-nullable deprecation in get_available_post_mime_types().
Fixes a PHP 8.1 and above "null to non-nullable" deprecation notice in `get_available_post_mime_types()`:

{{{
Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in ./wp-includes/post.php on line 3395
}}}

[https://developer.wordpress.org/reference/functions/get_available_post_mime_types/#return This function is documented] to:
* Return `An array of MIME types.`
* as an array of `string`s, i.e. `string[]`.

A `null` or empty element within the returned array is not a valid MIME type. If a `null` exists in the returned array, it is the root cause of PHP throwing the deprecation notice.

This commit removes the `null` and empty elements from the returned array of MIME types. It also adds a unit test.

Follow-up to [56623], [56452].

Props nosilver4u, jrf, ironprogrammer, antpb, antonvlasenko, rajinsharwar, hellofromTonya. 
Fixes #59195.
Built from https://develop.svn.wordpress.org/trunk@58437


git-svn-id: http://core.svn.wordpress.org/trunk@57886 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-18 14:46:10 +00:00
costdev 6b458a50bf Upgrade/Install: Disable maintenance mode when core auto-update fails.
In [58128], additional maintenance mode calls were added to the automatic updates process. However, there is an early return if a 'core' automatic update fails.

Maintenance mode isn't disabled until later in the `WP_Automatic_Updater::update()` method. This means that maintenance mode may continue to be enabled despite the core update being treated as a skipped update.

This disables maintenance mode before the early return.

Follow-up to [58128].

Props costdev, hellofromTonya, peterwilsoncc.
Fixes #61459. See #58281.
Built from https://develop.svn.wordpress.org/trunk@58436


git-svn-id: http://core.svn.wordpress.org/trunk@57885 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-18 14:41:05 +00:00
costdev 09848f0151 Upgrade/Install: Delay automatic updates after installation.
After installation, the user is directed to the `Log In` page. This triggers the `wp_schedule_update_checks()` function which is hooked to `init` and schedules updates to run immediately if no other events exist. As a result of more robust use of maintenance mode for automatic updates added in [58128], the user may be presented with a maintenance mode screen just after installing WordPress.

To improve the user experience, this schedules core updates for 1 hour, plugin updates for 1.5 hours, and theme updates for 2 hours after installation.

Follow-up to [58128], [58139], [58308], [58309].

Props afragen, hellofromTonya, peterwilsoncc, nithi22, dd32.
Fixes #61457. See #58281, #61391.
Built from https://develop.svn.wordpress.org/trunk@58435


git-svn-id: http://core.svn.wordpress.org/trunk@57884 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-18 14:39:11 +00:00
ellatrix 6e426b04c1 Editor: Update packages for 6.6 Beta 3.
See https://make.wordpress.org/core/handbook/about/release-cycle/block-editor-release-process-for-major-releases/#package-updates-and-core-patches.
See https://github.com/WordPress/gutenberg/pull/62641.
See https://github.com/WordPress/wordpress-develop/pull/6850.

Props ellatrix, cbravobernal.

Fixes #61462.


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


git-svn-id: http://core.svn.wordpress.org/trunk@57883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-18 13:19:30 +00:00
Sergey Biryukov c469887ea5 Twenty Twenty-Four: Replace theme screenshot to remove drop shadow at the top.
Follow up to [56716], [56726].

Props beafialho.
Fixes #61460.
Built from https://develop.svn.wordpress.org/trunk@58433


git-svn-id: http://core.svn.wordpress.org/trunk@57882 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-18 12:26:12 +00:00
hellofromTonya aaffdcd671 Site Health: Bump the recommended MariaDB version.
MariaDB 10.4 reaches EOL (“End of Life”) on 18 June 2024. The recommended minimum is bumped to 10.5 for now, whose EOL is 24 June 2025.

Also removes the skip in tests to allow the tests to run on all branches with this change.

References:
* [https://mariadb.org/about/#maintenance-policy MySQL Support Policies]
* [https://make.wordpress.org/hosting/handbook/server-environment/#database Hosting team handbook: Server Environment: Database]

Follow-up to [55665], [52420], [53435], [54069], [54076].

Props peterwilsoncc, dd32, costdev, mukesh27, hellofromTonya.
Fixes #61458.
See #meta7679.
Built from https://develop.svn.wordpress.org/trunk@58432


git-svn-id: http://core.svn.wordpress.org/trunk@57881 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-18 11:59:14 +00:00
Pascal Birchler c655ae0a22 Build/Test Tools: install additional languages in end-to-end tests.
As a follow-up to [58430], this makes another locale available during the e2e tests, allowing testing of scenarios that require loading translations in the future.

See #61240.
Built from https://develop.svn.wordpress.org/trunk@58431


git-svn-id: http://core.svn.wordpress.org/trunk@57880 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-18 10:51:13 +00:00
Pascal Birchler ac8ac3941b Build/Test Tools: add new end-to-end tests for edge cases such as maintenance mode.
Sometimes errors only occur in unusual code paths such as the maintenance mode or installation screens. Due to lack of tests for these scenarios in core, such errors are usually only noticed very late. This change adds new end-to-end (e2e) tests to prevent regressions in the following areas:

- Maintenance mode (presence of a `.maintenance` file)
- Fatal error handler (simulated with an mu-plugin that causes an error)
- Installation screen (verifying full installation flow & that there are no database errors)

Thanks to these tests, an issue was already found and addressed in the default `wp_die` handler, as `wp_robots_noindex_embeds` and `wp_robots_noindex_search` used to cause PHP warnings due to `$wp_query` not existing.

In the future, these tests can be extended to also test scenarios like localized error pages via `wp_load_translations_early()`.

Fixes #61240.
Built from https://develop.svn.wordpress.org/trunk@58430


git-svn-id: http://core.svn.wordpress.org/trunk@57879 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-18 08:20:08 +00:00
oandregal 9a8a0b3fcd Do not use init to register block style variations defined via theme.json.
Props oandregal, aaronrobertshaw, joemcgill, ramonopoly, andrewserong, swissspidy.
See #61451.
Fixes #61312.

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


git-svn-id: http://core.svn.wordpress.org/trunk@57878 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-18 07:09:06 +00:00
isabel_brison e820f8cdf9 Editor: Read theme.json files stored in `styles/` folder only once.
Uses `read_json_file` to access cached file if it exists instead of using `wp_json_file_decode` directly.

Props oandregal, aaronrobertshaw, joemcgill, ramonopoly, isabel_brison.
See #61451.

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


git-svn-id: http://core.svn.wordpress.org/trunk@57877 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-18 06:02:14 +00:00
costdev aeb9f37238 Taxonomy: Remove unused `$term_ids` in `wp_set_object_terms()`.
In [5983], a call to `clean_term_cache()` was removed from `wp_set_object_terms()`. Since then, the `$term_ids` array that had been populated inside one of the `foreach` loops before being passed to the removed `clean_term_cache()` call has not been used.

This change removes the unused `$term_ids` variable.

Follow-up to [5983].

Props dlh, mukesh27.
Fixes #61456.
Built from https://develop.svn.wordpress.org/trunk@58427


git-svn-id: http://core.svn.wordpress.org/trunk@57876 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-18 04:12:11 +00:00
Sergey Biryukov 1e3f4a7c9f Twenty Seventeen: Correct image height for the Site Logo block.
Includes removing box shadow when the “Link image to home” setting is enabled.

Follow-up to [43800].

Props sabernhardt, nkeller15, karmatosed, hmbashar, rajinsharwar, huzaifaalmesbah, shailu25.
Fixes #58474.
Built from https://develop.svn.wordpress.org/trunk@58426


git-svn-id: http://core.svn.wordpress.org/trunk@57875 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-17 18:31:18 +00:00
hellofromTonya f8b436bb20 Code Modernization: Fix 'ping_sites' non-nullable deprecation.
When saving options from the Settings page, include the `'ping_sites'` option in the allowed "writing" options list only when the `'blog_public'` option is `'1'`.

Fixes a PHP 8.1 and above "null to non-nullable" deprecation notice in `sanitize_option()` ([https://core.trac.wordpress.org/browser/trunk/src/wp-includes/formatting.php?annotate=blame#L4952 which happens when here] as part of [22255]):

{{{
Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in .../wp-includes/formatting.php
}}}

**Explanation**

[https://developer.wordpress.org/apis/options/#writing Per the documentation], the `ping_sites` option requires the `'blog_public'` option to have a value of `'1'` and must be a `string` data type. `null` is not valid for this option.

The relationship between the 2 options shows itself in the `options-writing.php` code ([https://core.trac.wordpress.org/browser/tags/6.5.4/src/wp-admin/options-writing.php#L233 shown here] and in [4326]), as the `textarea#ping_sites` only renders when `'1' === get_option( 'blog_public' )`.

**What happens if `'blog_public'` is not `'1'`?**

The `'ping_sites'` option will not be a field on the page. Upon saving:

* HTTP POST (`$_POST`) does not include `'ping_sites'`. 
* Before this commit:
   * The [https://core.trac.wordpress.org/browser/trunk/src/wp-admin/options.php#L333 option's value was set to] `null` before being passed to `update_option()`. 
   * `update_option()` invokes `sanitize_option()`.
   * A `null` value for the `'ping_sites'` case was passed to `explode()`, which threw a deprecation notice on PHP 8.1 and above.
* With this commit, the `'ping_sites'` option is no longer included in the allow list and thus will not be passed to `update_options()` > `sanitize_option()` > `explode()`.

Follow-up to [22255], [12825], [4326], [949].

Props kitchin, SergeyBiryukov, swissspidy, devmuhib, rajinsharwar, hellofromTonya.
Fixes #59818.
Built from https://develop.svn.wordpress.org/trunk@58425


git-svn-id: http://core.svn.wordpress.org/trunk@57874 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-17 18:03:13 +00:00
dmsnell 9c25b9d9b8 KSES: Fix tests and detection of HTML Bogus Comment spans.
In [58418] a test was added without the `test_` prefix in its function
name, and because of that, it wasn't run in the test suite.
The prefix has been added to ensure that it runs.

In the original patch, due to a logical bug, a recursive loop to
transform the inside contents of the bogus comments was never run
more than once. This has been fixed.

This patch also includes one more case where `kses` wasn't
properly detecting the bogus comment state, and adds a test case
to cover this. It limits itself to some but not all constructions
of invalid markup declaration so that it doesn't conflict with
existing behaviors around those and other kinds of invalid comments.

Props ellatrix, dmsnell.
See #61009.
Follow-up to [58418].

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


git-svn-id: http://core.svn.wordpress.org/trunk@57873 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-17 12:04:12 +00:00
oandregal 963175f228 Global Styles: Avoid unnecessary processing of theme.json variation partials.
Props aaronrobertshaw, oandregal, mukesh27.
See #61451.

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


git-svn-id: http://core.svn.wordpress.org/trunk@57872 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-06-17 10:08:12 +00:00