Commit Graph

50009 Commits

Author SHA1 Message Date
Sergey Biryukov
c0350f64a0 Themes: Improve the alignment of feature filters and inputs on Add Themes screen.
Follow-up to [35527], [38640], [40797].

Props Benjamin_Zekavica, sabernhardt, sumitsingh, gauravtiwari, krupajnanda, audrasjb, SergeyBiryukov.
Fixes #53314.
Built from https://develop.svn.wordpress.org/trunk@59022


git-svn-id: http://core.svn.wordpress.org/trunk@58418 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-15 13:49:15 +00:00
Sergey Biryukov
21142e7279 Tests: Add tests to ensure that the WP_Network::$blog_id property is a string.
Follow-up to [34097], [36340], [37657], [37870], [37871], [59020].

Fixes #62035.
Built from https://develop.svn.wordpress.org/trunk@59021


git-svn-id: http://core.svn.wordpress.org/trunk@58417 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-14 21:31:15 +00:00
Sergey Biryukov
997455c982 Networks and Sites: Set WP_Network properties via setters upon creation.
This ensures that `WP_Network::$id` is stored internally as `int`, to match the documented type.

Follow-up to [37870].

Props ironprogrammer, scottculverhouse, spacedmonkey, SergeyBiryukov.
See #62035.
Built from https://develop.svn.wordpress.org/trunk@59020


git-svn-id: http://core.svn.wordpress.org/trunk@58416 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-13 22:12:15 +00:00
Peter Wilson
bd4c40b4c2 Editor: Deprecate "Social links with a shared background color" pattern.
Removes the pattern from the inserter while retaining the related code to ensure the content renders for sites making use of the pattern.

Props annezazu, talldanwp, richtabor, mikachan.
Fixes #61708.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58415 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-13 05:37:16 +00:00
Peter Wilson
81de03f277 Upgrade/Install: Indicate HEIC support when checking upgrades.
Adds tracking of HEIC image type support alongside WebP and AVID image types when requesting upgrade from WordPress.org

Props adamsilverstein, swissspidy, dd32, mukesh27.
Fixes #61981.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58414 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-13 05:23:22 +00:00
Sergey Biryukov
5c52d270ec Tests: Restore the environment before performing assertions in some canonical tests.
This aims to avoid affecting other tests in case of failure.

Follow-up to [28704], [45133].

See #61608.
Built from https://develop.svn.wordpress.org/trunk@59017


git-svn-id: http://core.svn.wordpress.org/trunk@58413 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-12 21:41:15 +00:00
Peter Wilson
5d3a6274b4 Administration: Increase frequency of heartbeat API requests.
Increases the frequency of heartbeat API requests from once every 15 seconds to once every 10 seconds.

The purpose of this change is to reduce the length of time before a post becomes unlocked as a user navigates around the WordPress Dashboard and ceases editing a post.

`wp.heartbeat.interval()` has been modified to allow theme and plugin authors to set the heartbeat interval to any value between one second and one hour rather than limiting them to a fixed set of values.

Props azaozz, annezazu, jorbin, kirasong.
Fixes #61960.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58412 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-11 23:09:16 +00:00
Peter Wilson
e296eeb012 Taxonomy: Test inserting a child term flushes queries by term ID.
Adds a test to ensure that interting a child term invalidates the cache of a `get_terms()` query by the parent ID.

Props Dekadinious, peterwilsoncc.
See #62031, #61530.


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


git-svn-id: http://core.svn.wordpress.org/trunk@58411 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-11 22:41:18 +00:00
dmsnell
7d9bb7efd3 HTML API: Make WP_HTML_Processor::get_tag() namespace aware.
The HTML specification indicates that an HTML tag with the name "IMAGE"
should be renamed as "IMG" and handled as if it were an "IMG", but this
only applies to elements in the HTML namespace.

In this patch the HTML Processor is updated to ensure that it doesn't
remap the tag name when processing foreign content, such as SVG and
MathML markup.

Developed in https://github.com/wordpress/wordpress-develop/7330
Discussed in https://core.trac.wordpress.org/ticket/61656

Props dmsnell, jonsurrell.
See #61576.


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


git-svn-id: http://core.svn.wordpress.org/trunk@58410 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-11 16:13:17 +00:00
Felix Arntz
1d71540320 Comments: Reinstate original since annotation on get_edit_comment_link filter.
This was accidentally removed in [58875].

See #61727.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58409 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-11 15:44:13 +00:00
Felix Arntz
f8a7a22bee Comments: Ensure $comment_id parameter on get_edit_comment_link filter is always a comment ID.
Follow up to [58875].

Props david.binda, peterwilsoncc, mukesh27, davidbaumwald.
Fixes #61727.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58408 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-11 15:40:17 +00:00
dmsnell
ee69ec404e WP_Debug_Data: Extract wp-mu-plugins data into separate method.
This is the part five in a larger modularization of the data in `WP_Debug_Data`. Previously this was a single massive method drawing in debug data from various groups of related data, where the groups were independent from each other.

This patch separates the fifth of twelve groups, the `wp-mu-plugins` info, into a separate method focused on that data.

This work precedes changes to make the `WP_Debug_Data` class more extensible for better use by plugin and theme code.

Developed in https://github.com/wordpress/wordpress-develop/7305
Discussed in https://core.trac.wordpress.org/ticket/61648

Props apermo, dmsnell.
See #61648.


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


git-svn-id: http://core.svn.wordpress.org/trunk@58407 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-11 14:47:20 +00:00
Sergey Biryukov
3c03500cea Docs: Remove the @ignore tag for _wp_render_title_tag().
The function is referenced in the `_block_template_render_title_tag()` DocBlock, and should therefore be included in the documentation.

Follow-up to [30074], [30615], [31170], [35294], [51003].

Props poena.
See #61608.
Built from https://develop.svn.wordpress.org/trunk@59010


git-svn-id: http://core.svn.wordpress.org/trunk@58406 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-11 13:27:12 +00:00
John Blackbourn
87fd392188 Docs: Various docblock improvements and corrections.
See #61608

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


git-svn-id: http://core.svn.wordpress.org/trunk@58405 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-11 12:08:19 +00:00
Joe McGill
2f943897c9 Media: Add auto sizes for lazy-loaded images.
This implements the HTML spec for applying auto sizes to lazy-loaded images by prepending `auto` to the `sizes` attribute generated by WordPress if the image has a `loading` attribute set to `lazy`. For browser that support this HTML spec, the image's size value will be set to the concrete object size of the image. For browsers that don't support the spec, the word "auto" will be ignored when parsing the sizes value.

References:
- https://html.spec.whatwg.org/multipage/images.html#sizes-attributes
- https://github.com/whatwg/html/pull/8008

Props mukesh27, flixos90, joemcgill, westonruter, peterwilsoncc.
Fixes #61847.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58404 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-11 00:01:23 +00:00
Sergey Biryukov
7215ea4eb1 Docs: Fix typo in a comment in get_block_templates().
Follow-up to [55687].

Props dj.cowan, mukesh27.
Fixes #62023.
Built from https://develop.svn.wordpress.org/trunk@59003


git-svn-id: http://core.svn.wordpress.org/trunk@58399 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-10 09:47:18 +00:00
dmsnell
3293d9ba89 WP_Debug_Data: Extract wp-server data into separate method.
This is the part four in a larger modularization of the data in `WP_Debug_Data`. Previously this was a single massive method drawing in debug data from various groups of related data, where the groups were independent from each other.

This patch separates the fourth of twelve groups, the `wp-server` info, into a separate method focused on that data.

This work precedes changes to make the `WP_Debug_Data` class more extensible for better use by plugin and theme code.

Developed in https://github.com/wordpress/wordpress-develop/7283
Discussed in https://core.trac.wordpress.org/ticket/61648

Props apermo, costdev, dmsnell, kebbet, mukesh27.
See #61648.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58398 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-10 00:04:19 +00:00
dmsnell
011d45abbc HTML API: Add sentinels for unreachable code.
There are places in the HTML API code where some tools get confused and flag invalid types for the return of a function because they are unable to detect that the end of the function is unreachable.

Since PHP doesn't provide a way to encode total matching in the source code, this patch adds a few extra lines in those unreachable locations to satisfy any tooling which isn't able to fully analyze the code.

Additionally this serves as extra guarding in case someone changes these functions in a way which would break them and the existing test suite doesn't catch those breakages.

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

Props dlh, dmsnell.
Fixes #62018.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58397 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-09 22:12:15 +00:00
Sergey Biryukov
7f0a5f518b Docs: Correct parameter reference for manage_posts_columns and related filters.
Follow-up to [27255], [42871].

Props truptikanzariya.
Fixes #62015.
Built from https://develop.svn.wordpress.org/trunk@59000


git-svn-id: http://core.svn.wordpress.org/trunk@58396 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-09 14:37:17 +00:00
Sergey Biryukov
911d37b465 Users: Remove obsolete conditional in wp-admin/user-new.php.
Since `$username` is set to `$user_details->user_login`, it will never be `null` in this specific line.

Follow-up to [https://mu.trac.wordpress.org/changeset/641 mu:641], [https://mu.trac.wordpress.org/changeset/1529 mu:1529], [12722], [16294].

Props akshat2802, mukesh27, aristath, SergeyBiryukov.
Fixes #62012.
Built from https://develop.svn.wordpress.org/trunk@58999


git-svn-id: http://core.svn.wordpress.org/trunk@58395 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-09 10:17:15 +00:00
Sergey Biryukov
11f8d8ec2b Coding Standards: Use strict comparison in wp-includes/capabilities.php.
Follow-up to [2703], [3297], [3513], [6697], [14189], [25177], [27390], [38378], [38698], [39588], [48356], [48664].

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


git-svn-id: http://core.svn.wordpress.org/trunk@58394 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-08 19:18:17 +00:00
Sergey Biryukov
35b7340af9 Administration: Remove old IE9 code from wp-admin/js/svg-painter.js.
About half of the file's code was a back-compat polyfill of base64 functions for IE9.

Since WordPress no longer supports IE9 as of version 4.8, and all modern browsers come with these functions, the polyfills can be removed.

Follow-up to [26072], [26131], [26601], [47771].

Props TobiasBg, sabernhardt.
Fixes #61995.
Built from https://develop.svn.wordpress.org/trunk@58997


git-svn-id: http://core.svn.wordpress.org/trunk@58393 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-07 22:44:17 +00:00
dmsnell
76c06eb274 Debug Data: Encode section ordering in debug info.
During a refactor to modularize the debug data class, it came up that the ordering of the sections inside of the returned debug info is relevant to existing UIs, as they iterate the array, which happens in insertion order.

This patch presets each section at the start to ensure that the ordering remains consistent even as code within the method is rearranged. As the mini-project progresses, this assignment will be the final place all the sections are referenced.

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

Props apermo, dmsnell, sergeybiryukov.
See #61648.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58392 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-06 19:50:19 +00:00
Sergey Biryukov
c311a9de36 Docs: Correct the order of @since and @var annotations.
Follow-up to [4673], [8656], [13041], [13827], [13895], [31134], [34490], [34566].

Props riddhipatel, shailu25.
Fixes #61999.
Built from https://develop.svn.wordpress.org/trunk@58995


git-svn-id: http://core.svn.wordpress.org/trunk@58391 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-06 14:36:19 +00:00
Sergey Biryukov
68ed51f937 Coding Standards: Use strict comparison in wp-admin/includes/upgrade.php.
Follow-up to [725], [1575], [1975], [2037], [2966], [3670], [4738], [11958], [12776], [14080], [14485], [32378].

Props faisalahammad, mujuonly, aristath, poena, afercia, SergeyBiryukov.
Fixes #58041, #61607.
Built from https://develop.svn.wordpress.org/trunk@58994


git-svn-id: http://core.svn.wordpress.org/trunk@58390 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-05 14:59:14 +00:00
Sergey Biryukov
3bf2de3ad2 Docs: Correct the first parameter name for the pre_site_option_{$option} filter.
Follow-up to [27365], [41013], [48193].

See #61608.
Built from https://develop.svn.wordpress.org/trunk@58993


git-svn-id: http://core.svn.wordpress.org/trunk@58389 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-04 21:10:14 +00:00
dmsnell
72bc81c048 HTML API: Only examine HTML nodes in pop_until() instack of open elements.
The `pop_until( $tag_name )` method in the stack of open elements should only be examining HTML elements, but it has only been checking the tag name. This has led to closing the wrong tags when run from inside foreign content. A very specific situation where this may arise is when a `TEMPLATE` closer is found inside foreign content, inside another template.

{{{
HTML:template   SVG:template                 HTML:/template
<template><svg><template><foreignObject><div></template><div>
╰──< this outer TEMPLATE is closed by this one >───╯
}}}

This patch constains the method to checking for elements matching the tag name which are in the HTML namespace so that the proper detection occurs.

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

Follow-up to [58867].

Props dmsnell, jonsurrell.
See #61576.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58388 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-04 19:25:14 +00:00
hellofromTonya
699ea88e6c Editor: Update packages for 6.6.2 RC1.
Updates the versions from the [a74a70ed20 released packages] for the following bugfixes:

* [https://github.com/WordPress/gutenberg/pull/63980 Global Styles: Fix block custom CSS pseudo element selectors]
* [https://github.com/WordPress/gutenberg/pull/64463 Featured Image Block: Reduce CSS specificity]
* [https://github.com/WordPress/gutenberg/pull/64076 Fix bumped specificity for layout styles in non-iframed editor]
* [https://github.com/WordPress/gutenberg/pull/64379 Don't allow duplicating template parts in non-block-based themes]
* [https://github.com/WordPress/gutenberg/pull/64250 Data Views: Don't render action modal when there are no eligible items]
* [https://github.com/WordPress/gutenberg/pull/63724 Fix canvas issues by removing VisualEditor’s height]
* [https://github.com/WordPress/gutenberg/pull/64992 Post Editor: fix click space after post content to append]
* [https://github.com/WordPress/gutenberg/pull/63939 Post Editor: Prevent popover from being hidden by metabox]
* [https://github.com/WordPress/gutenberg/pull/64639 Post editor: apply space below content using a pseudo-element instead of padding-bottom]
* [https://github.com/WordPress/gutenberg/pull/64015 Avoid errors for post types without a 'menu_icon']
* [https://github.com/WordPress/gutenberg/pull/64458 Update postcss-prefixwrap dependency to 1.51.0 to fix prefixing in :where selectors]

Props vcanales.
Fixes #61982.
See #61704, #61769, #61829.
Built from https://develop.svn.wordpress.org/trunk@58988


git-svn-id: http://core.svn.wordpress.org/trunk@58384 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-04 16:25:19 +00:00
dmsnell
d0d8ba24d8 HTML API: Respect document compat mode when handling CSS class names.
The HTML API has been behaving as if CSS class name selectors matched class names in an ASCII case-insensitive manner. This is only true if the document in question is set to quirks mode. Unfortunately most documents processed will be set to no-quirks mode, meaning that some CSS behaviors have been matching incorrectly when provided with case variants of class names.

In this patch, the CSS methods have been audited and updated to adhere to the rules governing ASCII case sensitivity when matching classes. This includes `add_class()`, `remove_class()`, `has_class()`, and `class_list()`. Now, it is assumed that a document is in no-quirks mode unless a full HTML parser infers quirks mode, and these methods will treat class names in a byte-for-byte manner. Otherwise, when a document is in quirks mode, the methods will compare the provided class names against existing class names for the tag in an ASCII case insensitive way, while `class_list()` will return a lower-cased version of the existing class names.

The lower-casing in `class_list()` is performed for consistency, since it's possible that multiple case variants of the same comparable class name exists on a tag in the input HTML.

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

Props dmsnell, jonsurrell.
See #61531.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58381 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-04 04:34:15 +00:00
Mamaduka
1e6b860630 Editor: Update preloaded paths for the site editor
Add the `OPTIONS /wp/v2/pages` route to the list. The request is made via the `useBlockEditorSettings` hook at the top of the editor React tree. Preloading should improve the editor's loading time.

Avoid hardcoding paths for the 'attachment' post type; use the `rest_get_route_for_post_type_items` helper method instead.

Props mamaduka, noisysocks.
See #61884.
Built from https://develop.svn.wordpress.org/trunk@58984


git-svn-id: http://core.svn.wordpress.org/trunk@58380 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-04 04:17:14 +00:00
Sergey Biryukov
d65e65cd6c Posts, Post Types: Check if the post type exists in _admin_notice_post_locked().
This adds a guard to verify the result of `get_post_type_object()` before retrieving the `all_items` label, as the function returns `null` if the post type does not exist.

Follow-up to [24527].

Props pcarvalho, akshat280, mukesh27, SergeyBiryukov.
Fixes #60947.
Built from https://develop.svn.wordpress.org/trunk@58983


git-svn-id: http://core.svn.wordpress.org/trunk@58379 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-03 22:43:14 +00:00
joedolson
02d2fa959a Comments: Limit comments shortcut to not execute on links.
Exclude links from activating the comment submission shortcut.

[45790] introduced a shortcut to submit comment forms using `Ctrl/Cmd + Enter`. This keyboard combination is also the combination for opening a link in a new tab, which resulted in submitting the form when using the Log Out or Edit Profile links.

Props greentreefrog, sabernhardt, narenin.
Fixes #61919.
Built from https://develop.svn.wordpress.org/trunk@58981


git-svn-id: http://core.svn.wordpress.org/trunk@58377 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-03 20:36:10 +00:00
hellofromTonya
7b2eb3f79b Docs: Add changing existing items recommendations to 'admin_bar_menu' action.
Improves the `'admin_bar_menu'` docblock by adding recommendations for customizing / changing existing items.

It also improves the `wp_admin_bar_render()` function's docblock by removing the "most optimal point" sentence.

The [58748] changeset moved the user menu to a higher priority level (of `9991`) to achieve:

>so nodes added with higher priorities will still be shown visually before the user and recovery menu items, as they were prior to [58215].

When hooking into `'admin_bar_menu'` with a priority level less than 9991 and attempting to get the `'my-account'` node, `null` is returned. While the preferred approach is to hook into `'wp_before_admin_bar_render'`, the documentation of the `'admin_bar_menu'` action was previously misleading.

Follow-up to [58748], [58759].

Props michaelwp85, narenin, sabernhardt, joedolson, costdev, jorbin, hellofromTonya, mukesh27, pbiron.
Fixes #61738.
Built from https://develop.svn.wordpress.org/trunk@58978


git-svn-id: http://core.svn.wordpress.org/trunk@58374 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-03 19:58:11 +00:00
dmsnell
2ce04ceab9 HTML API: Ensure that NULL and whitespace-only CDATA sections don't forbid FRAMESET.
When CDATA sections (which can only occur inside SVG and MathML content) consist only of NULL bytes or whitespace characters they should not clear the "frameset ok" flag. Previously they have always been clearing this flag, but in this patch the logic is updated to detect these sequences properly.

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

Follow-up to [58867].

Props dmsnell, jonsurrell.
See #61576.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58373 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-03 19:50:14 +00:00
ryelle
8d1fb4e25a Help/About: Fix text wrapping on non-English locales.
In [57715], headings on the About pages were given `text-wrap: balance`. This rule causes unexpected breaks in non-latin langauges, e.g., Japanese, Korean. This fix sets the text-wrap to `pretty` for browsers that support it, and uses `balance` for English-only.

Props akshat2802, wildworks, ryelle, sabernhardt, hellofromTonya.
Fixes #60892.


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


git-svn-id: http://core.svn.wordpress.org/trunk@58372 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-03 18:51:12 +00:00
Felix Arntz
4e167c593d Options, Meta APIs: Explicitly pass $autoload parameter to when potentially adding new options.
It is recommended that for every option it is explicitly set whether to autoload it or not. This changeset updates relevant `update_option()` and `add_option()` calls.

Note that the `$autoload` parameter is only needed for `update_option()` if the option is potentially not present yet, i.e. the call will pass through to `add_option()`. Since WordPress core adds the majority of its options to the database during installation, only `update_option()` calls for dynamically added options need to be modified, which is what this changeset does.

As part of revisiting the autoload values for dynamically added WordPress core options, this changeset modifies some options to no longer be autoloaded, since they are only accessed in a few specific places that are not relevant for a regular request. These options are:
* `recently_activated`
* `_wp_suggested_policy_text_has_changed`
* `{upgradeLock}.lock`
* `dashboard_widget_options`
* `ftp_credentials`
* `adminhash`
* `nav_menu_options`
* `wp_force_deactivated_plugins`
* `delete_blog_hash`
* `allowedthemes`
* `{sessionId}_paused_extensions`
* `recovery_keys`
* `https_detection_errors`
* `fresh_site`

An upgrade routine is present as well that sets those options to no longer autoload for existing sites.

Props pbearne, flixos90, mukesh27, swissspidy, SergeyBiryukov, joemcgill, adamsilverstein.
Fixes #61103.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58371 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-03 18:19:14 +00:00
Felix Arntz
77af97466f Media: Consistently pass 'src' attribute to wp_get_loading_optimization_attributes().
A common use-case for the 'wp_get_loading_optimization_attributes' filter is to modify attributes based on the 'src' attribute. However, the `wp_img_tag_add_loading_optimization_attrs()` was not passing that attribute to the function as expected, which would make such usage of the filter unreliable. This changeset ensures the 'src' attribute is also passed in this scenario. All other calls to `wp_get_loading_optimization_attributes()` already included the attribute.

Props deepakrohilla, prestonwordsworth, mukesh27, adamsilverstein, joemcgill, flixos90.
Fixes #61436.
See #58893.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58370 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-03 17:07:16 +00:00
cbravobernal
b734476509 Block bindings: Adds a filter to customize the output of a block bindings source.
Introduces a filter to the `block_bindings_source_value` to allow developers to
modify the value returned by any block binding source.

Props snehapatil02, cbravobernal, gziolo, santosguillamot, bacoords, codersantosh.
Fixes #61181.


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


git-svn-id: http://core.svn.wordpress.org/trunk@58368 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-03 16:33:15 +00:00
dmsnell
ec9fa01846 HTML API: Improve skipped test reporting with unsupported exception.
The `html5lib-tests` suite skips a number of tests due to unsupported markup. At the moment, these tests all report "Test includes unsupported markup." This patch calls the `get_unsupported_exception()` method in these skipped cases to improve the messages reported to PHPUnit so they're more informative: e.g. "Unsupported markup: Foster parenting is not supported."

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

Follow-up to [58714].

Props dmsnell, jonsurrell.
See #61646.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58367 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-03 16:27:14 +00:00
dmsnell
8d2a10b300 HTML API: Allow subdividing text nodes by meaningful prefixes.
HTML parsing rules at times differentiate character tokens that are all null bytes, all whitespace, or other content. This patch introduces a new function which may be used to classify text node sub-regions and lead to more efficient application of these parsing rules.

Further, when classified in this way, application code may skip some rules and decoding entirely, improving performance. For example, this can be used to ease the implementation of skipping inter-element whitespace, which is usually not rendered.

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

Props dmsnell, jonsurrell.
Fixes #61974.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58366 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-02 23:21:18 +00:00
dmsnell
3008472ffb HTML API: Replace null-bytes in class_list class names
As part of an audit of HTML API CSS behaviors, this patch resolves an issue with how the HTML API reports class names containing the NULL byte. NULL bytes should be replaced by the Unicode replacement character, U+FFFD, but previously weren't. This patch performs that replacement.

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

Follow-up to [56703].

Props dmsnell, jonsurrell.
See #61531.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58365 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-02 22:28:12 +00:00
Sergey Biryukov
b428e1b5be Tests: Add a unit test for get_metadata() with a non-existing object ID.
Follow-up to [48658], [50641], [58962].

Props rodrigosprimo, jrf.
See #61530, #61608.
Built from https://develop.svn.wordpress.org/trunk@58968


git-svn-id: http://core.svn.wordpress.org/trunk@58364 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-02 22:18:17 +00:00
dmsnell
eac35f6ae6 HTML API: Add missing NOBR end tag handling to HTML Processor.
When the HTML Processor was introduced, an oversight led to a missing case for handling a closing `NOBR` tag. The `NOBR` element is a deprecated tag and should not be used.

This patch adds the missing case so that the deprecated `NOBR` end tag is appropriately handled.

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

Follow-up to [56274].

Props jonsurrell.
See #61576.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58363 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-02 22:03:15 +00:00
dmsnell
d7f9d30df8 HTML API: Fix logic bug in HTML Processor when opening A element.
A mistake in the original code handling opening A elements in the HTML Processor led to mistakes in parsing where the Processor would bail in situations when it could have proceeded. While this was errant behavior, it didn't violate the public contract since it would bail in these situations.

This patch fixes the mistake, which was to only break out of the innermost loop instead of breaking from the containing loop, which resolves the issue.

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

Follow-up to [56274].

Props jonsurrell.
See #61576.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58362 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-02 21:54:15 +00:00
dmsnell
3e8d4ddc1d HTML API: Add missing @global tag on HTML Decoder.
The `@global` documentation has been missing in the `class-wp-html-decoder.php` file, and this patch adds it.

Discussed in https://core.trac.wordpress.org/ticket/61968

Props dmsnell, jonsurrell, shailu25.
Resolves #61968.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58361 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-02 20:55:14 +00:00
dmsnell
d0877b108a WP_Debug_Data: Extract wp-database data into separate method.
This is the part three in a larger modularization of the data in `WP_Debug_Data`. Previously this was a single massive method drawing in debug data from various groups of related data, where the groups were independent from each other.

This patch separates the third of twelve groups, the `wp-database` info, into a separate method focused on that data.

This work precedes changes to make the `WP_Debug_Data` class more extensible for better use by plugin and theme code.

Developed in https://github.com/wordpress/wordpress-develop/7143
Discussed in https://core.trac.wordpress.org/ticket/61648

Props dmsnell, kebbet, apermo.
See #61648.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58360 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-02 20:44:16 +00:00
Peter Wilson
4fc2975cb5 Options, Meta APIs: Prevent mail options triggering a deprecation warning.
Prevents a deprecation warning saving options when the post by email feature is turned off in code using the `enable_post_by_email_configuration` filter.

Props ironprogrammer, manbo, narenin, sebastienserre, siliconforks.
Fixes #61144.

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


git-svn-id: http://core.svn.wordpress.org/trunk@58359 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-02 00:13:16 +00:00
Sergey Biryukov
8532edd526 Docs: Further clarify return results for a non-existing ID in metadata functions.
This adds a note that the functions return either an empty array or an empty string for a valid but non-existing ID, depending on the `$single` parameter.

Follow-up to [48658], [50641].

Props rodrigosprimo, jrf.
See #61608.
Built from https://develop.svn.wordpress.org/trunk@58962


git-svn-id: http://core.svn.wordpress.org/trunk@58358 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-01 18:30:16 +00:00
Sergey Biryukov
c585121d5e Docs: Correct comment formatting in wp_autosave_post_revisioned_meta_fields().
Follow-up to [56714].

See #61608.
Built from https://develop.svn.wordpress.org/trunk@58961


git-svn-id: http://core.svn.wordpress.org/trunk@58357 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-08-31 14:46:17 +00:00
Tammie Lister
d7a3815245 Twenty Twenty: Correct font-size for Code block and other preformatted elements.
The code block font-size was not the same in the editor and front. This sets it to 1em and corrects the value for preformatted elements along with adding border and padding in the editor for pre elements.

Props viralsampat, mi5t4n, brobken, sabernhardt.
Fixes #61845.

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


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