Commit Graph

22471 Commits

Author SHA1 Message Date
isabel_brison
3c22144a0d Editor: fix typo in css_var doc update.
Fixes a type in the doc update in [56630].

Props ramonopoly, audrasjb, costdev.
Fixes #59401.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56152 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-21 00:18:23 +00:00
joedolson
48dfebac74 Administration: Improve control proximity in theme details modal.
Make the theme details modals in the Customizer and at Appearance > Themes consistent. Change the order of controls so both modals are in the same sequence, center all controls in both desktop and mobile views, and change delete link color to meet color contrast requirements.

Props trishasalas, afercia, melchoyce, karmatosed, cathibosco1, michaelarestad, joedolson, petitphp, mikinc860.
Fixes #59372. See #59371, #40822.
Built from https://develop.svn.wordpress.org/trunk@56639


git-svn-id: http://core.svn.wordpress.org/trunk@56151 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-20 21:03:20 +00:00
Weston Ruter
09d8bc184b General: Account for Sec-CH-UA-Mobile client hint request header in wp_is_mobile().
Add missing test coverage for `wp_is_mobile()`.

Fixes #59370.
Props westonruter, flixos90.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56150 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-20 20:51:19 +00:00
joedolson
ebfa9be225 XML-RPC: Add alt attribute value to media item API.
Add alt text to the `wp.getMediaItem` method in the XML-RPC API. Allows users to fetch alt text as a first-class member of a media object.

Props thomashorta, joedolson, jivygraphics, stephenerdelyi, mukesh27, whyisjake.
Fixes #58582.
Built from https://develop.svn.wordpress.org/trunk@56637


git-svn-id: http://core.svn.wordpress.org/trunk@56149 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-20 19:31:20 +00:00
joedolson
453fb650d6 Users: Improve vertical spacing consistency in labels.
Adjust display of user profile labels on small screens so they are consistent with the layout used elsewhere.

Props nandhuraj, costdev, sabernhardt, sarathar, vivekawsm.
Fixes #58493.
Built from https://develop.svn.wordpress.org/trunk@56636


git-svn-id: http://core.svn.wordpress.org/trunk@56148 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-20 17:55:17 +00:00
Felix Arntz
59e8596941 Themes: Deprecate usage of TEMPLATEPATH and STYLESHEETPATH constants.
While generally the functions `get_template_directory()` and `get_stylesheet_directory()` were long recommended to use to get the parent or child theme directory, the `TEMPLATEPATH` and `STYLESHEETPATH` constants were still used in a few places in core, most importantly in template related logic.

The remaining usage was problematic as it prevented testability of certain key components of WordPress core.

This changeset replaces all remaining usage with the corresponding functions and effectively marks these constants as deprecated. It also adds test coverage accordingly and even unlocks some existing, previously commented out test coverage to work as expected.

Performance of the new approach has been benchmarked and shows no notable differences. Yet, given that the current theme directories are not expected to change within a regular WordPress page load, the `get_template_directory()` and `get_stylesheet_directory()` functions were amended with in-memory caching of the result, unless one of the defining values is being filtered.

Props thekt12, spacedmonkey, mukesh27, aaroncampbell, scribu, lloydbudd, cais, chipbennett, toscho, omarabid, CrazyJaco, DrewAPicture, obenland, wonderboymusic, nacin, helen, dd32, chriscct7, SergeyBiryukov, swissspidy, joemcgill, flixos90.
Fixes #18298.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56147 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-20 17:27:23 +00:00
Bernhard Reiter
68be796e1d Blocks: Revert implementation of block insertion functions.
In [56618], three functions (`insert_inner_block`, `prepend_inner_block`, and `append_inner_block`) were introduced. They were meant to be used for insertion of hooked blocks; however, it was discovered that the original idea wouldn't work for sibling insertion. Instead, a different approach will be taken (see #59412), and these functions are no longer needed and can thus be removed.

Reverts [56618].
See #59412, #59385, #59313.
Built from https://develop.svn.wordpress.org/trunk@56634


git-svn-id: http://core.svn.wordpress.org/trunk@56146 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-20 16:49:18 +00:00
Sergey Biryukov
b57af57210 Coding Standards: Escape the whole attribute in wp-admin/export.php.
It is best to always escape the complete value of an attribute, not a partial value, as otherwise the escaping could be (partially) undone when the values are joined together.

While the hardcoded hyphen in this case don't necessarily create that risk, it may change to a value which could be problematic, so making it a habit to escape the value in one go is best practice.

Escaping the complete value also means that a single `esc_attr()` call can be used instead of two.

Follow-up to [14444], [16652], [55616], [56632].

See #58831.
Built from https://develop.svn.wordpress.org/trunk@56633


git-svn-id: http://core.svn.wordpress.org/trunk@56145 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-20 09:47:18 +00:00
audrasjb
5cce7674ca Coding Standards: Add missing escaping functions in wp-admin/export.php
Props viralsampat.
See #58831.




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


git-svn-id: http://core.svn.wordpress.org/trunk@56144 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-20 08:44:20 +00:00
audrasjb
25b109a0e5 Taxonomy: Restrict term edit link generation in WP_Terms_List_Table::handle_row_actions().
This changeset restricts edit term link generation if the user lacks the `edit_term` cap in order to prevent PHP 8.1+ deprecations shown when a user lacks this 
capability and `get_edit_term_link()` returns null.

Props thelovekesh, jrf.
Fixes #59336.




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


git-svn-id: http://core.svn.wordpress.org/trunk@56143 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-20 08:10:16 +00:00
isabel_brison
d761ed56ca Editor: update docs for css_var.
Updates inline doc for the `css_var` key value pair in WP_Style_Engine.

Props ramonopoly.
Fixes #59401.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56142 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-20 07:06:20 +00:00
isabel_brison
9699ef2e41 Editor: Fix post editor layout when Post Content has no attributes.
Changes output of `wp_get_post_content_block_attributes` to return null if Post Content block doesn’t exist or empty array if it has no attributes.

Props flixos90, mukesh27.
Fixes #59358.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56141 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-20 01:26:19 +00:00
costdev
f388dc8e38 Login and Registration: Introduce classes wp-login.php footer links.
This introduces classes for the "Log in", "Register" and "Lost your password?" links in the footer of `wp-login.php` forms so that they may be easily targeted for individual styling.

The new classes are:
- `.wp-login-log-in`
- `.wp-login-register`
- `.wp-login-lost-password`

Props wparslan, thomasplevy, rajinsharwar, audrasjb, joedolson, costdev.
Fixes #57590.
Built from https://develop.svn.wordpress.org/trunk@56628


git-svn-id: http://core.svn.wordpress.org/trunk@56140 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-19 22:45:19 +00:00
desrosj
081e87f702 External Libraries: Update the regenerator-runtime version.
Adds the required change to the `script-loader.php` file for [56626] that was missed.

See #59078.
Built from https://develop.svn.wordpress.org/trunk@56627


git-svn-id: http://core.svn.wordpress.org/trunk@56139 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-19 19:32:12 +00:00
desrosj
da0c2396bb External Libraries: Update the regenerator-runtime library.
This updates the `regenerator-runtime` library to version `0.14.0`.

Props rajinsharwar, oglekler.
Fixes #59078.
Built from https://develop.svn.wordpress.org/trunk@56626


git-svn-id: http://core.svn.wordpress.org/trunk@56138 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-19 19:30:24 +00:00
Joe McGill
0475a61f8a Media: Edit new hook name in get_available_post_mime_types().
This is a follow-up to [56452] in which a new filter hook was added to `get_available_post_mime_types()` to override a potentially slow query. This renames the previous hook from `get_available_post_mime_types` to `pre_get_available_post_mime_types` for clarity.

Props rcorrales, emrikol, johnbillion, joemcgill, mukesh27.
Fixes #52759.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56135 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-19 17:05:21 +00:00
costdev
e1e541a1b3 Build/Test Tools: Add sys_get_temp_dir() to open_basedir tests.
In PHPUnit 10.3.5, 9.6.13 and 8.5.34, the child processes used for process isolation now use temporary files to communicate their result to the parent process.

This caused a failure in some tests that set the `open_basedir` PHP directive to a value that did not include `sys_get_temp_dir()`.

This adds `sys_get_temp_dir()` to the `open_basedir` value set by the tests to ensure that permission is still granted for the temporary directory.

PHPUnit uses `sys_get_temp_dir()`. To ensure the result is the same, Core's `get_temp_dir()` function is not used.

References:
- https://github.com/sebastianbergmann/phpunit/issues/5356

Props desrosj, mukesh27, SergeyBiryukov, costdev.
Fixes #59394.
Built from https://develop.svn.wordpress.org/trunk@56622


git-svn-id: http://core.svn.wordpress.org/trunk@56134 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-19 16:43:19 +00:00
spacedmonkey
8fdddd7b6d Themes: Improve performance of get_block_theme_folders function
This commit enhances the performance of the get_block_theme_folders function by introducing a new method called get_block_template_folders within the WP_Theme class. Previously, this function suffered from poor performance due to repeated file lookups using file_exists. The new method implements basic caching, storing the result in the theme's cache, similar to how block themes are cached in the block_theme property (see [55236]).

Additionally, this change improves error handling by checking if a theme exists before attempting to look up the file. It also enhances test coverage. 

Props spacedmonkey, thekt12, swissspidy, flixos90, costdev, mukesh27.
Fixes #58319.
Built from https://develop.svn.wordpress.org/trunk@56621


git-svn-id: http://core.svn.wordpress.org/trunk@56133 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-19 16:17:22 +00:00
gziolo
d3a8869891 Blocks: Introduce a variation of serialize blocks helper with traversing
Introduces two new functions `traverse_and_serialize_blocks` and `traverse_and_serialize_block` with the additional `$callback` argument. It is possible to pass parent block, block index, chunk index to the callback argument.

Reverts changes applied to `serialize_blocks` and `serialize_block` in #59327 with [56557].

Props ockham, mukesh27.
See #59313.



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


git-svn-id: http://core.svn.wordpress.org/trunk@56132 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-19 12:50:19 +00:00
costdev
8fbd793f33 Editor: Fix parameter reference in block editor settings tests.
In [50776], the `filter_set_block_editor_settings_post()` callback was introduced for use in block editor settings tests.

This contained a reference to an `$allowed_block_types` parameter, which doesn't exist.

This changes the reference to `$editor_settings`.

Follow-up to [50776].

Props david.binda, mukesh27, SergeyBiryukov.
Fixes #59391.
Built from https://develop.svn.wordpress.org/trunk@56619


git-svn-id: http://core.svn.wordpress.org/trunk@56131 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-19 12:38:23 +00:00
Bernhard Reiter
43b728aec5 Blocks: Implement block insertion functions.
For #59313, we need to implement functions to insert a given parsed block into another parsed block's inner blocks, and to prepend and append to that array, respectively.

We will use those functions in combination with `traverse_and_serialize_blocks` (see #59327) to implement automatic insertion of hooked blocks into block templates and patterns.

Props gziolo.
Fixes #59385.
Built from https://develop.svn.wordpress.org/trunk@56618


git-svn-id: http://core.svn.wordpress.org/trunk@56130 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-19 12:36:20 +00:00
Sergey Biryukov
8b18bab4e6 KSES: Add writing-mode to the list of safe CSS properties.
Original PR from Gutenberg repository:
* [https://github.com/WordPress/gutenberg/pull/54581 #54581 Gutenberg Plugin: Add hook to allow `writing-mode` as a safe CSS property]

Reference: [https://developer.mozilla.org/en-US/docs/Web/CSS/writing-mode MDN Web Docs: writing-mode].

Follow-up to [56605].

Props wildworks, mukesh27, poena, andrewserong.
Fixes #59387.
Built from https://develop.svn.wordpress.org/trunk@56617


git-svn-id: http://core.svn.wordpress.org/trunk@56129 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-19 12:30:14 +00:00
costdev
1ef9332fb0 Coding Standards: Replace PHP alias join() with implode().
In [52190], some new instances of the `join()` alias were introduced in the test suite.

Using the canonical function name for PHP functions is strongly recommended, as aliases may be deprecated or removed without (much) warning.

This replaces the new `join()` uses with the canonical `implode()` function name.

Follow-up to [46182], [49193], [49805], [52190].

Props david.binda, mukesh27.
Fixes #59389.
Built from https://develop.svn.wordpress.org/trunk@56616


git-svn-id: http://core.svn.wordpress.org/trunk@56128 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-19 12:25:21 +00:00
isabel_brison
9c827704be Editor: fix pattern alignment in editor view.
Adjusts root padding for synced patterns in the editor to avoid discrepancies with the front end view.

Props aaronrobertshaw, mukesh27.
Fixes  #59359.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56127 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-19 01:45:21 +00:00
isabel_brison
82f6ce639b Editor: add background image support.
Adds a new background block support with the ability to set a background image on blocks that opt into it.

Props andrewserong, mukesh27.
Fixes #59357.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56126 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-19 01:29:23 +00:00
Felix Arntz
90a29fbc46 Bundled Theme: Add missing dimension attributes to images in Twenty Twenty-Two patterns.
The dimension attributes `width` and `height` should be present on every image in order to avoid layout shifts and be able to leverage WordPress core's image loading optimization functionality.

This changeset adds dimension attributes to the `core/image` blocks used in block patterns in Twenty Twenty-Two, where this is particularly critical as WordPress core cannot backfill the attributes for those images, as their sources are not part of the Media Library.

Props spacedmonkey, thekt12, mukesh27, flixos90.
Fixes #59256.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56125 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-18 17:38:19 +00:00
Felix Arntz
56b5244fdb Media: Enhance wp_get_loading_optimization_attributes() to support arbitrary context values.
The `wp_get_loading_optimization_attributes()` function, which was introduced in 6.3, based on the now deprecated `wp_get_loading_attr_default()` function introduced in 5.5, relies on a `$context` parameter based on which it may alter its behavior and the attributes returned. So far, it has only supported context values used within WordPress core.

This changeset decouples the behaviors of the function from specific contexts, allowing for more flexibility. Theme and plugin developers will be able to rely on their own context values when rendering images in non-standard ways, rather than being forced to use a core context, to get the loading optimization benefits the function provides.

As part of this change, a `wp_loading_optimization_force_header_contexts` filter is introduced, which allows filtering the map of context values and whether they should be considered header contexts, i.e. i.e. any image having one of these contexts will be assumed to appear above the fold.

Props mukesh27, costdev, flixos90.
Fixes #58894.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56124 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-18 14:55:18 +00:00
Sergey Biryukov
1b5fc476f8 Quick Edit: Allow Quick Edit to be disabled for custom post types or taxonomies.
Some custom post types or taxonomies may not need the Quick Edit functionality, in which case adding hidden fields and rendering the form with the data to edit would be redundant.

This commit introduces two filters for more granular control:

* `quick_edit_enabled_for_post_type`
* `quick_edit_enabled_for_taxonomy`

Follow-up to [8857], [9083], [9098].

Props garyc40, sabernhardt, mukesh27, costdev, oglekler, wyrfel, peterwilsoncc, faguni22, robinwpdeveloper, webcommsat, johnbillion, azaozz, hellofromTonya, GunGeekATX, Jick, mikeschinkel, jane, nacin, helen, wonderboymusic, DrewAPicture, SergeyBiryukov.
Fixes #16502, #19343, #57596.
Built from https://develop.svn.wordpress.org/trunk@56611


git-svn-id: http://core.svn.wordpress.org/trunk@56123 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-18 13:19:19 +00:00
gziolo
7520c3fb46 Blocks: Introduce helper function to retrieve hooked blocks
In order to implement Block Hooks (see #59313), we added block_hooks field to the WP_Block_Type class, as well as to block registration related functions. In this follow-up, new helper function gets introduced that is going to compute the list of hooked blocks by other registered blocks for a given block type.

Extracted from https://github.com/WordPress/wordpress-develop/pull/5158 and covered with unit tests.

Props ockham.
Fixes #59383.


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


git-svn-id: http://core.svn.wordpress.org/trunk@56122 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-18 12:43:13 +00:00
spacedmonkey
323d8cb19d Plugins: Store result of call to array_keys, to save repeated calls in WP_Hook class.
In the `WP_Hook` class the function `array_keys` was called every time an array of hook priorities was needed. For sites with lots of filters or actions, this would result in thousands of calls to the `array_keys` function, which uses server resources. Instead of recomputing this array every time it is needed, only compute it when filters are added and removed, then store the result as a class property. Improve unit tests to ensure this behaviour is tested. 

Props spacedmonkey, bor0, flixos90, hellofromTonya, mukesh27.
Fixes #58458.
Built from https://develop.svn.wordpress.org/trunk@56609


git-svn-id: http://core.svn.wordpress.org/trunk@56121 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-18 12:41:18 +00:00
costdev
cc1bb87546 Docs: Document aria-live and hidden in safecss_filter_attr().
In [56603], support was added for `aria-live` and `hidden` attributes in `safecss_filter_attr()`.

This adds a `@since` annotation to document this change.

Follow-up to [56603].

Props mukesh27.
See #57791.
Built from https://develop.svn.wordpress.org/trunk@56608


git-svn-id: http://core.svn.wordpress.org/trunk@56120 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-18 10:57:16 +00:00
gziolo
918a9a69b1 Tests: Add additional tests covering Block Hooks registration
Props ockham.
See #59346.
Follow-up [56587].


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


git-svn-id: http://core.svn.wordpress.org/trunk@56119 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-18 10:35:23 +00:00
isabel_brison
51c1ee1b9c Posts: update admin notices to refer to patterns.
Updates `wp_block` action notices to refer to patterns instead of blocks.

Props aaronrobertshaw, mukesh27, oglekler.
Fixes #59305.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56118 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-18 07:04:19 +00:00
isabel_brison
df3137aca1 Editor: add text orientation for blocks with typography support.
Adds a new text orientation option to the typography block support, implemented with CSS writing-mode.

Props poena.
Fixes #59306.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56117 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-18 06:49:20 +00:00
isabel_brison
305ccb98e0 Editor: add block instance element color support for buttons and headings.
Adds support for buttons and headings to the colors and elements block supports, allowing button and heading element colors to be changed on individual blocks.

Props aaronrobertshaw.
Fixes #59309.


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


git-svn-id: http://core.svn.wordpress.org/trunk@56116 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-18 06:27:19 +00:00
joedolson
a73260baf4 Administration: Add support for attributes in wp_admin_notice().
Allow admin notices to be created with additional attributes. Test attributes include `hidden`, `data-*`, and `role="*"` values, which are all in use in various admin notices across core. 

This commit adds `aria-live` and `hidden` to the KSES global attributes array to support core usages.

Follow up to [56408], [56409], [56410], [56518], [56570], [56571], [56572], [56573], [56576], [56589], [56590], [56597], [56599], [56600], [56601], [56602].

Props costdev, joedolson.
See #57791.
Built from https://develop.svn.wordpress.org/trunk@56603


git-svn-id: http://core.svn.wordpress.org/trunk@56115 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-18 00:30:18 +00:00
joedolson
9922dfd54c Administration: Move tabindex="-1" from notice to JS.
In a handful of admin notices, a `tabindex` attribute is set so that JS can move focus to the notice `div`. Rather than adding `tabindex` to globally accepted attributes for `wp_kses_post()`, move the assignment of `tabindex` into the JS handlers that display those notices. The attribute is only relevant if JS is running, so there is no reason to add it in the original HTML notice.

Follow up to [56408], [56409], [56410], [56518], [56570], [56571], [56572], [56573], [56576], [56589], [56590], [56597], [56599], [56600], [56601].

Props costdev, joedolson.
See #57791.
Built from https://develop.svn.wordpress.org/trunk@56602


git-svn-id: http://core.svn.wordpress.org/trunk@56114 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-17 22:51:24 +00:00
joedolson
3f690e5763 Administration: Use wp_admin_notice() in wp-admin/network/.
Add additional usage of `wp_admin_notice()` in `wp-admin/network/` where previously overlooked. 

Follow up to [56408], [56409], [56410], [56518], [56570], [56571], [56572], [56573], [56576], [56589], [56590], [56597], [56599], [56600].

Props costdev, joedolson.
See #57791.
Built from https://develop.svn.wordpress.org/trunk@56601


git-svn-id: http://core.svn.wordpress.org/trunk@56113 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-17 19:12:21 +00:00
joedolson
3356f6e33f Administration: Use wp_admin_notice() more in wp-admin/.
Add additional usage of `wp_admin_notice()` in `wp-admin/` on `.error` and miscellaneous usages previously overlooked. 

Follow up to [56408], [56409], [56410], [56518], [56570], [56571], [56572], [56573], [56576], [56589], [56590], [56597], [56599].

Props costdev, joedolson.
See #57791.
Built from https://develop.svn.wordpress.org/trunk@56600


git-svn-id: http://core.svn.wordpress.org/trunk@56112 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-17 15:33:17 +00:00
costdev
6cdd74585d Administration: Use wp_admin_notice() more in /wp-admin/includes/.
Adds further usages of `wp_admin_notice()` in `/wp-admin/includes/` on `.notice-error`, `.notice-warning`, `.error`, and `.updated`.

Ongoing task to implement new function across core.

Follow-up to [56408], [56409], [56410], [56518], [56570], [56571], [56572], [56573], [56576], [56589], [56590], [56597].

Props joedolson, mukesh27, costdev.
See #57791.
Built from https://develop.svn.wordpress.org/trunk@56599


git-svn-id: http://core.svn.wordpress.org/trunk@56111 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-17 15:23:22 +00:00
Sergey Biryukov
3546f04e16 Coding Standards: Fix a few newly introduced WPCS issues.
Follow-up to [56515], [56557], [56560].

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


git-svn-id: http://core.svn.wordpress.org/trunk@56110 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-17 02:10:17 +00:00
costdev
0223bd9ad6 Administration: Increase wp_admin_notice() usage in /wp-includes/.
Adds further usages of `wp_admin_notice()` in the root level of `/wp-includes/` on `.error` and `.notice-info`.

Ongoing task to implement new function across core.

Follow-up to [56408], [56409], [56410], [56518], [56570], [56571], [56572], [56573], [56576], [56589], [56590].

Props joedolson, costdev.
See #57791.
Built from https://develop.svn.wordpress.org/trunk@56597


git-svn-id: http://core.svn.wordpress.org/trunk@56109 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-16 21:49:27 +00:00
Sergey Biryukov
30a1eec22a Coding Standards: Remove extra parentheses in a few str_contains() conditionals.
Follow-up to [55988].

Props Cybr.
See #58831.
Built from https://develop.svn.wordpress.org/trunk@56596


git-svn-id: http://core.svn.wordpress.org/trunk@56108 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-16 06:50:23 +00:00
spacedmonkey
127209a9fe Options, Meta APIs: Optimize get_option by relocating notoptions cache lookup.
In the get_option function, a cache lookup for the notoptions key is performed, which stores an array of keys for options known not to exist. This optimization prevents repeated database queries when certain options are requested. However, the cache lookup for notoptions was conducted before checking if the requested option exists in the cache. Given that it's more likely that the option does exist, this commit reorders the checks to first verify the option's existence in the cache before confirming its absence. This adjustment reduces redundant queries and also eliminates an unnecessary cache lookup, improving overall performance.

Props spacedmonkey, costdev, flixos90, azaozz.
Fixes #58277.
Built from https://develop.svn.wordpress.org/trunk@56595


git-svn-id: http://core.svn.wordpress.org/trunk@56107 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-15 16:15:22 +00:00
Sergey Biryukov
e458b35a96 Coding Standards: Remove the custom property for the FileName sniff.
Test files should comply with the naming conventions accepted by PHPUnit, not with the WP naming conventions.

While the `WordPress.File.FileName` sniff makes a best effort to prevent throwing errors for files containing test classes, the recommended manner to deal with test files is to exclude the complete test directory from being subject to this sniff.

This updates the ruleset to follow the recommendation.

Follow-up to [42346], [45607].

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


git-svn-id: http://core.svn.wordpress.org/trunk@56106 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-15 10:47:23 +00:00
Sergey Biryukov
26d10fdc72 Coding Standards: Improve organization of the WPCS-based PHPCS ruleset.
This commit:
* Adds section headers to the ruleset file.
* Organizes all directives in their respective sections.

No functional changes.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56105 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-15 09:08:17 +00:00
gziolo
ad261fbf4e Blocks: Remove the gutenberg textdomain accidently added to translation
Props soean.
See #59346.
Follow-up [56587].


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


git-svn-id: http://core.svn.wordpress.org/trunk@56104 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-15 07:51:19 +00:00
joedolson
5f21a9dafd Media: Fix focus loss when closing Image Rotation menu.
Only shift focus into menu when opening the menu. Check `aria-expanded` value of toggle before moving focus.

Props joedolson.
Fixes #59353.
Built from https://develop.svn.wordpress.org/trunk@56591


git-svn-id: http://core.svn.wordpress.org/trunk@56103 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 22:35:16 +00:00
joedolson
e012f30025 Administration: additional_classes is not a function.
Correct usage of `additional_classes` array parameter as if it were a function. Clearly, I'm getting tired and missing things. So many little changes. Follow up to [56573].

Props joedolson.
See #57791.
Built from https://develop.svn.wordpress.org/trunk@56590


git-svn-id: http://core.svn.wordpress.org/trunk@56102 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 22:10:24 +00:00
joedolson
3ce9440a01 Administration: Fix undeclared variable.
Moved `$updated_notice_args` to be defined before the conditional in which it's used.

Props TobiasBg.
See #57791.
Built from https://develop.svn.wordpress.org/trunk@56589


git-svn-id: http://core.svn.wordpress.org/trunk@56101 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 17:12:20 +00:00
gziolo
61594c3b64 Tests: Improve the assertions for REST API endpoint for block types
Follow-up to [56587], [55673]. While working on #59346, it was noted that selectors fiels is not always included in the assertions. While looking at it is was difficult to spot the issue because the random order of how REST API fields where listed.

Reorderd the REST API fields in the test cases to follow the list from the documentation: https://github.com/WordPress/gutenberg/blob/trunk/docs/reference-guides/block-api/block-metadata.md. This way it's going to be easier to maintain the list moving forward.

Props ockham.
See #59346, #59313, #57585.


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


git-svn-id: http://core.svn.wordpress.org/trunk@56100 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 14:56:18 +00:00
Bernhard Reiter
0b79362805 General: Add block_hooks field to block type registration, REST API.
In order to implement Block Hooks, we need to add a new `block_hooks` field to the `WP_Block_Type` class, as well as to block registration related functions, the block types REST API controller, etc.

Props gziolo.
Fixes #59346. See #59313.
Built from https://develop.svn.wordpress.org/trunk@56587


git-svn-id: http://core.svn.wordpress.org/trunk@56099 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 13:25:18 +00:00
Sergey Biryukov
1aca5e48e5 Coding Standards: Restore more descriptive variable names in a few class methods.
When various methods parameters in child classes were renamed to `$item` to match the parent class for PHP 8 named parameter support, most of the methods restored the more descriptive, specific name at the beginning for better readability, with several exceptions for methods consisting only of a few lines.

To avoid confusion about why some methods do that and some don't, this commit aims to bring more consistency to the code, specifically in list tables' `::column_default()` methods.

Follow-up to [51728], [51737], [51786].

See #58831.
Built from https://develop.svn.wordpress.org/trunk@56586


git-svn-id: http://core.svn.wordpress.org/trunk@56098 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 12:46:20 +00:00
spacedmonkey
6388ac820b Taxonomy: Introduce 'cache_results' parameter to WP_Term_Query for bypassing query caching.
Incorporating a new 'cache_results' parameter into the WP_Term_Query class, this commit empowers developers with the ability to bypass query caches, explicitly triggering database queries when needed.  This brings the `WP_Term_Query` class inline with `WP_Query` and `WP_User_Query` that already have a 'cache_results' parameter.

Update the `term_exists` function to use this new parameter, so the term query caches are not used while importing. 

Props dlh, spacedmonkey, peterwilsoncc.
Fixes #52710.
Built from https://develop.svn.wordpress.org/trunk@56585


git-svn-id: http://core.svn.wordpress.org/trunk@56097 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 12:40:18 +00:00
gziolo
bb3fac7b77 Tests: Split tests for _inject_theme_attribute_in_template_part_block
Follow-up to [56578].
See #59338.


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


git-svn-id: http://core.svn.wordpress.org/trunk@56096 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 11:47:18 +00:00
spacedmonkey
f19df46584 Bundled Theme: Implement the_header_image_tag function for enhanced compatibility for older core themes.
The `the_header_image_tag` function was introduced in WordPress 4.4 as part of [35594]. It is used in all themes created post WordPress 4.4 that supported header images. The function `get_header_image_tag` continues to get updated with new image features, like lazy loading, async decoding and fetch priority. To ensure our core themes maintain compatibility and benefit from these enhancements, a backward compatibility shim has been applied, integrating the `the_header_image_tag` function into the following core themes:

- Twenty Ten
- Twenty Eleven
- Twenty Twelve
- Twenty Fourteen
- Twenty Sixteen

This change ensures future compatibility and modern image features are applied for header images to these older themes. 

Props spacedmonkey, flixos90, mukesh27.
Fixes #58675.
Built from https://develop.svn.wordpress.org/trunk@56583


git-svn-id: http://core.svn.wordpress.org/trunk@56095 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 11:25:19 +00:00
Tammie Lister
18514a1d8c Twenty Ninteen: Revert changes to 'style-rtl.css'.
This revert changes to Twenty Nineteen 'style-rtl.css' file made in [56580] as it auto-generated during the build process.

Unprops karmatosed.
Props costdev.
See #58443.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56093 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 10:25:22 +00:00
Tammie Lister
7d3694a17c Twenty Nineteen: Fixes button line height.
Line height was broken for button block and adding spacing.

Props nidhidhandhukiya, shailu25.
Fixes #58443.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 09:47:19 +00:00
Bernhard Reiter
0dace57414 Themes: Fix @covers PHPDoc line for test.
Follow-up to [56578].
Props @mukesh27.
See #59338.
Built from https://develop.svn.wordpress.org/trunk@56579


git-svn-id: http://core.svn.wordpress.org/trunk@56091 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 09:06:26 +00:00
Bernhard Reiter
172397e6e5 Themes: Inject theme attribute during serialization.
Rather than using `_inject_theme_attribute_in_block_template_content` to inject the `theme` attribute into all Template Part blocks found in a given file-based Block Template, introduce a new function called `_inject_theme_attribute_in_template_part_block`, and use that as second argument to `serialize_blocks()` (introduced in [56557]) in order to inject said attribute during tree traversal for serialization.

This allows for a more modular approach that will eventually be extended to implement automatic insertion of hooked blocks.

Note that we're guarding `_build_block_template_result_from_file()` (i.e. the callsite of `_inject_theme_attribute_in_template_part_block` and previously of `_inject_theme_attribute_in_block_template_content`) against regressions through additional unit test coverage added in [56562].

Props @gziolo.
Fixes #59338. See #59313.
Built from https://develop.svn.wordpress.org/trunk@56578


git-svn-id: http://core.svn.wordpress.org/trunk@56090 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 08:52:19 +00:00
isabel_brison
da2581b4c1 Post Types: allow trashing draft patterns.
Adds `delete_posts` to capabilities for the `wp_block` post type.

Props ramonopoly, johnbillion, dhruvishah2203, audrasjb.
Fixes #59041.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56089 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 05:53:11 +00:00
costdev
f54ef8f442 Administration: Fix erroneous call to wp_admin().
In [56573], a typo caused `wp_admin()` to be called rather than `wp_admin_notice()`.

This fixes the typo to correctly call `wp_admin_notice()`.

Follow-up to [56573].

Props takayukister.
See #57791.
Built from https://develop.svn.wordpress.org/trunk@56576


git-svn-id: http://core.svn.wordpress.org/trunk@56088 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 05:50:20 +00:00
isabel_brison
e1b622244d REST API: quality tweaks to WP_REST_Global_Styles_Controller.
Removes redundant local variable and changes validate_custom_css() access modifier from private to protected.

Props ramonopoly, spacedmonkey.
Fixes #59296.


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


git-svn-id: http://core.svn.wordpress.org/trunk@56087 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 05:13:17 +00:00
isabel_brison
21ecbc3b0d Editor: disable default style engine optimisation.
Stops style engine from combining CSS selectors by default so that rule order is preserved.

Props ramonopoly, rajinsharwar, timdix, costdev, audrasjb, SergeyBiryukov, JeffPaul, mukesh27.
Fixes #58811.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56086 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 04:56:21 +00:00
joedolson
768f51f60c Administration: Use wp_admin_notice() for .updated.
Add usages of `wp_admin_notice()` and `wp_get_admin_notice()` on `.updated` in the root level of `/wp-admin/`. Ongoing task to implement new function across core.

Props costdev, joedolson.
See #57791.
Built from https://develop.svn.wordpress.org/trunk@56573


git-svn-id: http://core.svn.wordpress.org/trunk@56085 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 02:15:17 +00:00
joedolson
d2cc86d508 Administration: Use wp_admin_notice() in /wp-includes/.
Add usages of `wp_admin_notice()` and `wp_get_admin_notice()` on `.notice-[type]` in the root level of `/wp-includes/`. Ongoing task to implement new function across core.

Props costdev, joedolson.
See #57791.
Built from https://develop.svn.wordpress.org/trunk@56572


git-svn-id: http://core.svn.wordpress.org/trunk@56084 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 01:25:16 +00:00
joedolson
008a32110f Administration: Use wp_admin_notice() in /wp-admin/includes.
Add usages of `wp_admin_notice()` and `wp_get_admin_notice()` on `.notice-[type]` in the root level of `/wp-admin/includes`. Ongoing task to implement new function across core.

Props costdev, joedolson.
See #57791.
Built from https://develop.svn.wordpress.org/trunk@56571


git-svn-id: http://core.svn.wordpress.org/trunk@56083 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 01:13:20 +00:00
joedolson
0f4010bd49 Administration: Use wp_admin_notice() in /wp-admin/.
Add usages of `wp_admin_notice()` and `wp_get_admin_notice()` on `.notice-[type]` in the root level of `/wp-admin/`. Ongoing task to implement new function across core.

Props costdev, joedolson.
See #57791.
Built from https://develop.svn.wordpress.org/trunk@56570


git-svn-id: http://core.svn.wordpress.org/trunk@56082 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-14 00:54:19 +00:00
Weston Ruter
178e6722fe Bundled Themes: Ensure Twenty Twenty's main script loads in head for WP<6.3.
Amends [56556].
Props westonruter, flixos90, peterwilsoncc.
Fixes #59316.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56081 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-13 22:16:25 +00:00
Felix Arntz
ca8a033079 General: Update wp_register_script() calls in core to use new function signature.
Since most core scripts are registered using `WP_Scripts::add()`, which is not affected by the signature change, only calls to `wp_register_script()` using the old signature need to be updated. There is only a single instance left, which is updated in this changeset.

Props incursadesigns.
Fixes #58634.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56080 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-13 20:52:22 +00:00
Tammie Lister
d6c86f944f Twenty-Twenty One: Fixes quotation mark being outside with background.
The quotation marks were outside when the background color was applied.

Props nidhidhandhukiya, sabernhardt, shailu25, harshgajipara, poena, huzaifaalmesbah.
Fixes #57377. 

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


git-svn-id: http://core.svn.wordpress.org/trunk@56079 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-13 15:40:20 +00:00
spacedmonkey
7d1e95ec7f REST API: Avoid unnecessarily preparing item links REST API index.
Building upon the changes introduced in [53760], this commit refines the behavior of the REST API index. Specifically, it addresses performance concerns related to the unnecessary preparation of item links, such as site icon and logo links.

Prior to this update, the index controller was invoking the prepare_links method regardless of whether the _links or _embedded fields were requested in the response. This led to unnecessary database lookups and decreased overall performance.

In this commit, we implement a more efficient approach. Now, the prepare_links method will only be called when the _links or _embedded fields are explicitly requested in the response. This optimization ensures that we prepare links only when they are intended for inclusion in the API response, reducing unnecessary overhead.

By implementing this improvement, we enhance the overall efficiency and performance of the WordPress core REST API index controller.

Props spacedmonkey, niravsherasiya7707, dlh, mukesh27, costdev, swissspidy.
Fixes #57902.
Built from https://develop.svn.wordpress.org/trunk@56566


git-svn-id: http://core.svn.wordpress.org/trunk@56078 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-13 14:34:20 +00:00
Bernhard Reiter
15c3f036fd HTML API: Update documentation and rename internal variable on HTML Processor
This patch updates documentation and an internal variable name within the
HTML Processor class so that they are more helpful and complete to a reader.

There should be no functional or visual changes in this patch.

Props dmsnell, mukesh27.
Fixes #59267.
Built from https://develop.svn.wordpress.org/trunk@56565


git-svn-id: http://core.svn.wordpress.org/trunk@56077 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-13 13:02:17 +00:00
Bernhard Reiter
deaa431a90 HTML API: Skip over contents of RAWTEXT elements such as STYLE.
When encountering elements that imply switching into the RAWTEXT parsing state,
the Tag Processor should skip processing until exiting the RAWTEXT state.

In this patch the Tag Processor does just that, except for the case of the
deprecated XMP element which implies further and more complicated rules.

There's an implicit assumption that the SCRIPT ENABLED flag in HTML parsing
is enabled so that the contents of NOSCRIPT can be skipped. Otherwise, it would
be required to parse the contents of that tag.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56075 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-13 12:49:16 +00:00
Bernhard Reiter
51e2cb9e33 Themes: Add test for theme atttibute in file-based block template.
While we already have unit test coverage for `_inject_theme_attribute_in_block_template_content`, those tests only verify that ''that'' function does what is supposed to do; there's however no guarantee that `_build_block_template_result_from_file` uses that function (or whatever other technique) to actually inject the theme attribute.

This patch adds test coverage to verify that the theme attribute is correctly injected by `_build_block_template_result_from_file`.

Props costdev, gziolo, mukesh27, spacedmonkey.
Fixes #59325. See #59313.
Built from https://develop.svn.wordpress.org/trunk@56562


git-svn-id: http://core.svn.wordpress.org/trunk@56074 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-13 12:05:15 +00:00
Sergey Biryukov
7630eab57f Docs: Fix typo in a comment in wp_trim_excerpt().
Includes removing redundant `@covers` tags. There is already an existing annotation for the whole test class, following the [https://docs.phpunit.de/en/9.6/annotations.html#covers PHPUnit recommendation]:
> This annotation can be added to the docblock of the test class or the individual test methods. The recommended way is to add the annotation to the docblock of the test class, not to the docblock of the test methods.

Follow-up to [56560].

See #58682.
Built from https://develop.svn.wordpress.org/trunk@56561


git-svn-id: http://core.svn.wordpress.org/trunk@56073 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-13 08:08:20 +00:00
Felix Arntz
4bfba35169 Posts, Post Types: Avoid unnecessarily parsing blocks twice in wp_trim_excerpt().
All blocks relevant for the excerpt are already being parsed in `excerpt_remove_blocks()`. Therefore running `do_blocks()` on the post content only to create the excerpt is unnecessary and wasteful from a performance perspective.

Props thekt12, spacedmonkey, mukesh27, joemcgill.
Fixes #58682.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56072 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-12 19:20:21 +00:00
Sergey Biryukov
e5490118af Coding Standards: Include one space after function keyword for closures.
Note: This is enforced by WPCS 3.0.0.

Reference: [https://github.com/WordPress/WordPress-Coding-Standards/pull/2328 WPCS: PR #2328 Core: properly check formatting of function declaration statements].

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


git-svn-id: http://core.svn.wordpress.org/trunk@56071 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-12 15:23:18 +00:00
Bernhard Reiter
251a9c7653 HTML API: Store current token reference in HTML Processor state.
The `$current_token` reference has been stored in the HTML Processor itself, but I suggested to move it into the externalized state so that it can be stored and replaced.

In this patch the reference is moved to that state variable and it should become more possible to save and load state, to resume execution after pausing.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56070 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-12 15:12:17 +00:00
Bernhard Reiter
b847b9c484 General: Add optional callback argument to serialize_block(s).
Allow passing a function callback to serialize_block(s) that is invoked on each node in the tree of parsed blocks as it is traversed for serialization.

A function argument was chosen for passing the callback function as it reflects a pattern familiar from other algorithms that apply a given callback function while traversing a data structure -- most notably PHP's own `array_map()`.

Introducing a filter was considered as an alternative but ultimately dismissed. For a fairly low-level and general-purpose function such as `serialize_block()`, using a filter to pass the callback seemed risky, as it also requires ''removing'' that filter after usage in order to prevent the callback from being accidentally applied when `serialize_block()` is called in an entirely different context.

Introducing a separate function for applying a given operation during tree traversal (i.e. independently of serialization) was also considered but dismissed, as it would unnecessarily duplicate tree traversal.

Props dlh, gziolo.
Fixes #59327. See #59313.
Built from https://develop.svn.wordpress.org/trunk@56557


git-svn-id: http://core.svn.wordpress.org/trunk@56069 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-12 13:02:19 +00:00
Weston Ruter
ceb151029c Bundled Themes: Use defer loading strategy for theme scripts.
* Add `defer` loading strategy for all frontend end-user theme scripts (excluding Customizer preview).
* Move scripts to the `head` which relate to the initial page viewport to ensure they start loading earlier and execute sooner while still not blocking rendering.
* Update Twenty Twenty's script loader (`TwentyTwenty_Script_Loader`) to support core's built-in script loading strategies (#12009), while also retaining backwards-compatibility for child themes that may set `async` and `defer` script data.
* Update the main script loading strategy in Twenty Twenty from `async` to `defer` for better performance on repeat page views, since when an `async` script is cached it will block rendering.

Props westonruter, flixos90, sabernhardt.
Fixes #59316.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56068 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-12 00:06:19 +00:00
spacedmonkey
de170c0c2e Taxonomy: Cache term objects in WP_Term_Query if query is filtered.
When utilizing the `terms_clauses` or `get_terms_fields` filters within `WP_Term_Query` and the selected fields are modified, the entire term object is now cached. This adjustment is necessary because filters can broaden the selected fields beyond just the term ID. Fields linked to the term object, such as the count or parent, may undergo modifications when queried. Caching the complete object ensures the accurate storage of these modified fields within the cache.

Props spacedmonkey, tnolte, peterwilsoncc.
Fixes #58116.
Built from https://develop.svn.wordpress.org/trunk@56555


git-svn-id: http://core.svn.wordpress.org/trunk@56067 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-11 11:37:19 +00:00
costdev
4920adb477 External Libraries: Update the Requests library to version 2.0.8.
This is a maintenance release with minor changes:
- Only force close cURL connection when needed (cURL < 7.22).

References:
- [https://github.com/WordPress/Requests/releases/tag/v2.0.8 Requests 2.0.8 release notes]
- [https://github.com/WordPress/Requests/compare/v2.0.6...v2.0.8 Full list of changes in Requests 2.0.8]

Follow-up to [54997], [55007], [55046], [55225], [55296], [55629].

Props jrf, mukesh27, spacedmonkey, costdev.
Fixes #59322.
Built from https://develop.svn.wordpress.org/trunk@56554


git-svn-id: http://core.svn.wordpress.org/trunk@56066 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-11 10:33:19 +00:00
Peter Wilson
e41f176a63 Cron: Cast doing_cron transient to a float.
Cast the `doing_cron` transient value to a float to prevent type errors if the transient is not set (in which case it returns `false`) or another unexpected type.

Props fzhantw, ankitmaru.
Fixes #58471.


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


git-svn-id: http://core.svn.wordpress.org/trunk@56065 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-11 05:27:22 +00:00
Sergey Biryukov
c41829ea95 Code Modernization: Use dirname() with the $levels parameter.
PHP 7.0 introduced the `$levels` parameter to the `dirname()` function, which means nested calls to `dirname()` are no longer needed.

Note: This is enforced by WPCS 3.0.0.

Reference: [https://www.php.net/manual/en/function.dirname.php PHP Manual: dirname()].

Follow-up to [56141].

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


git-svn-id: http://core.svn.wordpress.org/trunk@56064 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-11 04:53:22 +00:00
Sergey Biryukov
d399e57a1f Coding Standards: Correct spacing for spread operators.
No space allowed between the operator and the variable it applies to.

Note: This is enforced by WPCS 3.0.0.

Follow-up to [46133].

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


git-svn-id: http://core.svn.wordpress.org/trunk@56063 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-10 09:04:18 +00:00
costdev
c170fd62f4 Upgrade/Install: Fix broken sprintf() call when deleting a backup.
In `WP_Upgrader::delete_temp_backup()`, a malformed `sprintf()` call did not pass the value, triggering a Warning in PHP 7 and a Fatal Error in PHP 8.

This fixes the malformed `sprintf()` call by correctly passing the value.

Follow-up to [55720].

Props akihiroharai, afragen.
Fixes #59320.
Built from https://develop.svn.wordpress.org/trunk@56550


git-svn-id: http://core.svn.wordpress.org/trunk@56062 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-10 07:33:22 +00:00
Sergey Biryukov
b80ce60f70 Coding Standards: Use pre-increment/decrement for stand-alone statements.
Note: This is enforced by WPCS 3.0.0:

1. There should be no space between an increment/decrement operator and the variable it applies to.
2. Pre-increment/decrement should be favoured over post-increment/decrement for stand-alone statements. “Pre” will in/decrement and then return, “post” will return and then in/decrement. Using the “pre” version is slightly more performant and can prevent future bugs when code gets moved around.

References:
* [https://developer.wordpress.org/coding-standards/wordpress-coding-standards/php/#increment-decrement-operators WordPress PHP Coding Standards: Increment/decrement operators]
* [https://github.com/WordPress/WordPress-Coding-Standards/pull/2130 WPCS: PR #2130 Core: add sniffs to check formatting of increment/decrement operators]

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


git-svn-id: http://core.svn.wordpress.org/trunk@56061 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-09 09:28:26 +00:00
Sergey Biryukov
d8936a9fe7 Coding Standards: Remove superfluous blank lines at the end of various functions.
Note: This is enforced by WPCS 3.0.0.

Follow-up to [56536], [56547].

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


git-svn-id: http://core.svn.wordpress.org/trunk@56060 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-08 10:03:21 +00:00
Sergey Biryukov
9a49b70239 Coding Standards: Remove superfluous blank lines at the end of various classes.
Note: This is enforced by WPCS 3.0.0.

Follow-up to [56536].

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


git-svn-id: http://core.svn.wordpress.org/trunk@56059 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-08 09:32:23 +00:00
isabel_brison
b7439d5712 Editor: tweak root padding styles.
Removes root padding from children of flex and grid layout blocks when root padding aware alignments are set.

Props andrewserong, ramonopoly.
Fixes #59295.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56058 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-08 00:51:18 +00:00
isabel_brison
43a50913d6 Editor: performance enhancements to class-wp-theme-json.
Removes unnecessary sanitisation of hardcoded strings and avoids looping over style presets without classes or variables.

Props flixos90.
Fixes #59304.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56057 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-08 00:26:21 +00:00
hellofromTonya
f379cb7fdb Code Modernization: Use wp_trigger_error() in WP_Text_Diff_Renderer_Table magic methods.
Replaces `trigger_error()` with `wp_trigger_error()` in each of the `WP_Text_Diff_Renderer_Table` magic methods.

[56354] added the dynamic properties deprecation messages to the `__get()`, `__set()`, `__isset()`, `__unset()` magic methods. Since that commit, `wp_trigger_error()` was introduced (see [56530]) as a wrapper for `trigger_error()`.

Follow-up to [56354], [56530].

See #58898, #57686.
Built from https://develop.svn.wordpress.org/trunk@56544


git-svn-id: http://core.svn.wordpress.org/trunk@56056 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-07 20:48:12 +00:00
hellofromTonya
6b0b3eb6a1 Code Modernization: Use wp_trigger_error() in WP_User_Query magic methods.
Replaces `trigger_error()` with `wp_trigger_error()` in each of the `WP_User_Query` magic methods.

[56353] added the dynamic properties deprecation messages to the `__get()`, `__set()`, `__isset()`, `__unset()` magic methods. Since that commit, `wp_trigger_error()` was introduced (see [56530]) as a wrapper for `trigger_error()`.

Follow-up to [56353], [56530].

See #58897, #57686.
Built from https://develop.svn.wordpress.org/trunk@56543


git-svn-id: http://core.svn.wordpress.org/trunk@56055 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-07 20:45:16 +00:00
hellofromTonya
3356628935 Code Modernization: Use wp_trigger_error() in WP_List_Table magic methods.
Replaces `trigger_error()` with `wp_trigger_error()` in each of the `WP_List_Table` magic methods.

[56349] added the dynamic properties deprecation messages to the `__get()`, `__set()`, `__isset()`, `__unset()` magic methods. Since that commit, `wp_trigger_error()` was introduced (see [56530]) as a wrapper for `trigger_error()`.

Follow-up to [56349], [56356], [56530].

See #58896, #57686.
Built from https://develop.svn.wordpress.org/trunk@56542


git-svn-id: http://core.svn.wordpress.org/trunk@56054 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-07 20:41:11 +00:00
joedolson
eb635e4796 Plugins: Respect prefers-reduced-motion on plugin thumbnails.
Pause animated plugin thumbnails when a user has reduced motion preferences configured in their device or operating system.

Props Travel_girl, audrasjb, bordoni, stevejonesdev, joedolson.
Fixes #55723.
Built from https://develop.svn.wordpress.org/trunk@56541


git-svn-id: http://core.svn.wordpress.org/trunk@56053 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-07 20:37:15 +00:00
hellofromTonya
aaec843875 Fonts: Removes static instance in wp_print_font_faces().
The static instance of `WP_Font_Face` is not needed. It was an unnecessary carryover from the experimental Fonts API (which was not introduced into Core).

Whereas the Fonts API needed to persist its data (i.e. to maintain the registered and enqueued fonts throughout the web request), Font Face does not have data to persist.

Font Face processes the fonts it receives when `WP_Font_Face::generate_and_print( $fonts )` is invoked. Thus, a singleton is not needed.

Removing the static reduces the amount of the code in the function and eliminates running its tests in separate processes to ensure a different instance is always used.

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

Follow-up to [56500].

Props hellofromTonya, costdev.
Fixes #59165.
Built from https://develop.svn.wordpress.org/trunk@56540


git-svn-id: http://core.svn.wordpress.org/trunk@56052 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-07 17:30:17 +00:00
desrosj
dedb9c6d5a Build/Test Tools: Update a few more 3rd-party GitHub Action occurrences.
Follow up to [56537].

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


git-svn-id: http://core.svn.wordpress.org/trunk@56050 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-07 16:56:21 +00:00
desrosj
0bd85f3b77 Build/Test Tools: Update 3rd-party GitHub Actions.
This updates all 3rd-party GitHub actions to their latest versions. The following actions were updated:
- `actions/cache`
- `actions/checkout`
- `actions/setup-node`
- `codecov/codecov-action`
- `shivammathur/setup-php`
- `slackapi/slack-github-action`

In the latest version of `actions/checkout` (`4.0.0`), a new input was introduced to control the output of command progress. This change uses this new `show-progress` input to turn off displaying progress by default. Progress will be shown when a workflow is run with debug mode enabled, just in case it contains helpful information.

Props johnbillion, desrosj.
See #58867.
Built from https://develop.svn.wordpress.org/trunk@56537


git-svn-id: http://core.svn.wordpress.org/trunk@56049 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-07 16:51:16 +00:00
Sergey Biryukov
2484b193b4 Coding Standards: Remove superfluous blank lines at the end of various files.
Note: This is enforced by WPCS 3.0.0.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56048 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-07 14:59:21 +00:00
isabel_brison
337a910076 Editor: add configurable viewport sizes for fluid typography.
Adds options to configure min and max viewport sizes for fluid typography in theme.json settings.

Props ramonopoly.
Fixes #59048.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56047 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-07 04:30:21 +00:00
isabel_brison
4b87f197f4 Editor: allow disabling layout controls.
Adds the ability to disable layout controls on a per-block level from theme.json.

Props mukesh27.
Fixes #59294.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56046 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-07 01:05:19 +00:00
desrosj
1037cc24d7 Bundled Themes: Update npm dependencies for Twenty Nineteen and Twenty Twenty.
This updates the npm dependencies for Twenty Nineteen and Twenty Twenty to their latest versions. This also includes the results of running `npm audit fix`.

There are no changes in any built files as a result.

See #58863.
Built from https://develop.svn.wordpress.org/trunk@56533


git-svn-id: http://core.svn.wordpress.org/trunk@56045 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-07 00:59:18 +00:00
desrosj
d812270755 Bundled Themes: Set legacy-peer-deps to true.
While `npm install` was working without issue after [56531], `npm ci` was not. The latter expects dependencies in the `package-lock.json` to match those in `package.json` exactly.

Follow up to [56378], [56387], [56442], [56531[.

Fixes #59187. See #56658.
Built from https://develop.svn.wordpress.org/trunk@56532


git-svn-id: http://core.svn.wordpress.org/trunk@56044 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-07 00:09:18 +00:00
desrosj
9fae0aac37 Bundled Themes: Use Node.js 16.x in themes with a build process.
This results in a new `package-lock.json` file being generated that uses `lockfileVersion` 2.x.

There are no changes to built files as a result of this update.

Follow up to [56378], [56387], [56442].

Props mikestraw, whyisjake, jivygraphics.
Fixes #59187. See #56658.
Built from https://develop.svn.wordpress.org/trunk@56531


git-svn-id: http://core.svn.wordpress.org/trunk@56043 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-06 23:44:20 +00:00
hellofromTonya
2653e93e09 General: Introduce wp_trigger_error().
Introduces `wp_trigger_error()` as a wrapper around PHP's native `trigger_error()`. As a wrapper, it's lean and not opinionated about the message. It accepts an E_USER family error level, meaning it is not limited to only notices.

Where `_doing_it_wrong()` intends to loudly alert developers "Hey you're doing it wrong - fix it", `wp_trigger_error()` is not opinionated and does not add wording. Rather, it passes the given message to `trigger_error()`.

`wp_trigger_error()` is meant for every `trigger_error()` instance. It can be used:
* in `_doing_it_wrong()` and each `_deprecated_*()` function.
* for PHP 8.x deprecations.
* for PHP error parity.
* for less severe "doing it wrong" instance that do not require bailing out.
* when a component or extension is not available on the server
* for instances where it's not clear if a plugin's or theme's code is the root cause.
* and more.

Technical details:

* Does not trigger the error if `WP_DEBUG` is not `true`.

* Includes `wp_trigger_error_run` action to allow hooking in for backtracing and deeper debug.

* Accepts an E_USER error level, but defaults to `E_USER_NOTICE`.

* Requires a function name, though can be an empty string. As the output message generated by `trigger_error()` references the file and line number where it was invoked, passing the function's name provides more information where the error/warning/notice/deprecation happened. It's intended to help with debug.

* A WordPress version number is not included.

* As messages can appear in the browser, the message is escaped using `esc_html()`. As noted in [https://www.php.net/manual/en/function.trigger-error.php the PHP manual]: "HTML entities in message are not escaped. Use htmlentities() on the message if the error is to be displayed in a browser."

References:
* [https://www.php.net/manual/en/function.trigger-error.php PHP manual for `trigger_error()`].
* [https://www.php.net/manual/en/errorfunc.constants.php E_USER constants (error level) in the PHP manual].

Props azaozz, hellofromTonya, flixos90, costdev, peterwilsoncc, oglekler, mukesh27.
See #57686.
Built from https://develop.svn.wordpress.org/trunk@56530


git-svn-id: http://core.svn.wordpress.org/trunk@56042 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-06 22:08:18 +00:00
Andrew Ozz
91167c488d Editor: Prevent possibility of a fatal error when previewing block themes.
Ensures that preview callbacks attached to the `stylesheet` and `template` filters do not run before `pluggable.php` has been included. These callbacks need functionality from `pluggable.php`.

Props: scruffian, johnbillion, SergeyBiryukov, okat, okat.
Fixes: #59000.
Built from https://develop.svn.wordpress.org/trunk@56529


git-svn-id: http://core.svn.wordpress.org/trunk@56041 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-06 21:48:17 +00:00
Andrew Ozz
a5a870cb4c Editor: Fix loading of assets in blocks in child themes where the directory name starts with the parent theme's directory name. Example: twentyseventeen and twentyseventeen-child.
Props: lgladdy, masteradhoc, audrasjb, rajinsharwar, azaozz.
Fixes: #59018.


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


git-svn-id: http://core.svn.wordpress.org/trunk@56039 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-06 21:25:15 +00:00
Felix Arntz
615996176a Bundled Theme: Update default themes to use new script function signature.
In WordPress 6.3, the last parameter of `wp_register_script()` and `wp_enqueue_script()` was changed to an array rather than a boolean. While a boolean is still supported for backward compatibility, it makes sense to update the codebase to use the new signature.

The updates are fully backward compatible:
* In places where `true` was provided, `array( 'in_footer' => true )` will still be interpreted as a boolean true in WordPress versions prior to 6.3.
* In places where `false` was provided, the parameter is omitted which will work correctly throughout all WordPress versions given that is and has been the default value anyway.

Props mrinal013, huzaifaalmesbah, niravsherasiya7707, joemcgill.
Fixes #59302.
See #58634.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56038 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-06 21:23:20 +00:00
costdev
9ebcbfae5c Upgrade/Install: Check plugin compatibility during bulk upgrades.
Previously, bulk upgrades did not verify that a plugin package was compatible with the site's WordPress version or the server's PHP version. This could lead to incompatible updates being installed, causing various compatibility issues and errors.

This change implements the following checks:
- If available, the API response's `requires` and `requires_php` values are checked for compatibility. This saves time, diskspace, memory and file operations by failing the upgrade before the package is downloaded and unpacked.
- If the API check passes, the downloaded and unpacked package is verified using `Plugin_Upgrader::check_package()` to ensure a plugin file is present, and the plugin's "RequiresWP" and "RequiresPHP" headers are compatible, if present. This ensures that a mismatch between the API response and the plugin file's headers does not cause an incompatible plugin to be installed.

Props salcode, afragen, mukesh27, iammehedi1, zunaid321, johnbillion, SergeyBiryukov, costdev.
Fixes #59198.
Built from https://develop.svn.wordpress.org/trunk@56525


git-svn-id: http://core.svn.wordpress.org/trunk@56037 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-06 18:30:19 +00:00
Joe McGill
be1b61326b Themes: Avoid stale caches for core block styles.
This fixes an issue introduced in [56044] in which the path to core block styles are cached to avoid expensive file operations on every page load. The original caching strategy is now modified so that only the path relative to the blocks location are stored, rather than the full path, since the path to the `wp-includes` folder can change after the value is generated. The new cached value also includes the current WordPress version value to ensure it is rebuilt when the version changes.

Props lhe2012, coreyw, colorful tones, petitphp, mukesh27, spacedmonkey, joemcgill, flixos90, kimannwall, desmith.
Fixes #59111.


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


git-svn-id: http://core.svn.wordpress.org/trunk@56036 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-06 18:08:17 +00:00
spacedmonkey
80245f0791 Themes: Remove unnecessary check if file exists in the theme functions.
Previously, several functions and methods in themes api were designed to check for the existence of files in a child theme before falling back to the parent theme. However, these checks did not consider whether the current theme was a child theme or not, resulting in unnecessary file existence checks for non-child themes. Check to see if stylesheet directory matches the template directory before doing the file exists. This optimization helps reduce unnecessary file system access, as file existence checks can be resource-intensive in PHP. 

The following functions and methods have been updated as part of this enhancement: 
- `WP_Theme::get_file_path`
- `get_theme_file_path`
- `get_theme_file_uri`

Props spacedmonkey, flixos90, sabernhardt, 10upsimon, mukesh27.
Fixes #59279.
Built from https://develop.svn.wordpress.org/trunk@56523


git-svn-id: http://core.svn.wordpress.org/trunk@56035 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-06 13:00:22 +00:00
spacedmonkey
eb7094465d Database: Add expiration for dirsize_cache to transient to improve performance.
The transient `dirsize_cache` stores an array of directory sizes. This transient can grow very large, if the plugin directory has lots of sub directories in it. For example, a site with 30 plugins, the transient was around 2MB. For sites without a persistent object cache, transients without an expiration, are stored in autoloaded options. This means this option would load on every page request. Loading this option on every page request when it is not used it wasteful. Adding a expiration to this transient means it will not autoload. To ensure there is no degradation in performance, the expiration was set to a generous 10-year timeframe, making it highly unlikely to expire before it's refreshed.

Props nicomollet, spacedmonkey, flixos90, wpgurudev.
Fixes #54221.
Built from https://develop.svn.wordpress.org/trunk@56522


git-svn-id: http://core.svn.wordpress.org/trunk@56034 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-06 10:03:20 +00:00
Sergey Biryukov
541fdbceb2 Coding Standards: Correct equals sign alignment in various files.
This resolves a few WPCS warnings:
{{{
Equals sign not aligned with surrounding statements
}}}
so that the output of `composer format` is clean.

Follow-up to [56276], [56302].

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


git-svn-id: http://core.svn.wordpress.org/trunk@56033 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-06 09:33:21 +00:00
isabel_brison
aac1b7c487 Editor: update packages with bug fixes for 6.3.2
Updates editor npm packages to latest patch versions for the 6.3.x branch.

Props ramonopoly.
See #59293.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56032 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-06 03:19:44 +00:00
Sergey Biryukov
f69316e8a5 Docs: Add a @since note for add_new labels change in get_post_type_labels().
Includes removing an obsolete recommendation to use a gettext context matching the post type for disambiguation, which would be redundant with the new labels, as they already include the type of content.

Follow-up [14571], [56515].

See #47125.
Built from https://develop.svn.wordpress.org/trunk@56519


git-svn-id: http://core.svn.wordpress.org/trunk@56031 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-06 00:46:24 +00:00
joedolson
1141b9fee2 Administration: Use admin notice functions in nav menu admin.
Use `wp_get_admin_notice` and `wp_admin_notice` to handle settings notices on the nav menu admin screens.

Props joedolson.
See #57791.
Built from https://develop.svn.wordpress.org/trunk@56518


git-svn-id: http://core.svn.wordpress.org/trunk@56030 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-05 20:50:24 +00:00
joedolson
0aa0c763e2 Administration: Add improved context for add new links.
Consistently expand `Add New` links to include the type of content to add. Improve consistency of text casing to use initial caps throughout.

Props afercia, gonzomir, alexstine, swissspidy, joedolson.
Fixes #47125.
Built from https://develop.svn.wordpress.org/trunk@56515


git-svn-id: http://core.svn.wordpress.org/trunk@56027 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-05 19:26:26 +00:00
Sergey Biryukov
70d853b9cd Code Modernization: Rename parameters that use reserved keywords in wp-includes/functions.php.
While using reserved PHP keywords as parameter name labels is allowed, in the context of function calls using named parameters in PHP 8.0+, this will easily lead to confusion. To avoid that, it is recommended not to use reserved keywords as function parameter names.

This commit renames the `$class` parameter to `$class_name` in `_deprecated_class()`.

Follow-up to [54929], [56467].

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


git-svn-id: http://core.svn.wordpress.org/trunk@56026 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-05 12:25:13 +00:00
spacedmonkey
ed6e84c280 Query: Use split queries in WP_Query if persistent object caching is enabled.
Prior to this commit, the `WP_Query` class split the query for posts into two database queries. First, it initiated an ID-based query to retrieve post IDs, followed by a call to _prime_post_caches to fetch post objects if they weren't already in memory. This splitting of queries was limited to cases where fewer than 500 posts were being requested, to prevent a potentially large database query within the IN statement in _prime_post_caches.

However, this limitation becomes unnecessary when a persistent object cache is enabled, as the post objects can be efficiently retrieved from the fast object cache. This commit transfers the responsibility of fetching posts to the object cache, which not only speeds up the process but also reduces the strain on the database server.

Props peterwilsoncc, spacedmonkey, SergeyBiryukov.
Fixes #57296.
Built from https://develop.svn.wordpress.org/trunk@56513


git-svn-id: http://core.svn.wordpress.org/trunk@56025 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-05 12:23:21 +00:00
spacedmonkey
5e21330e7d Widgets: Improve performance of has_content method in WP_Widget_Media_Gallery class.
In the method `WP_Widget_Media_Gallery::has_content` call `_prime_post_caches` before the foreach loop. This ensures that the post objects are primed in memory before trying to access the post object in `get_post_type`.

Props niravsherasiya7707, spacedmonkey, mukesh27.
Fixes #58757.
Built from https://develop.svn.wordpress.org/trunk@56512


git-svn-id: http://core.svn.wordpress.org/trunk@56024 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-04 16:33:17 +00:00
Sergey Biryukov
d2a504e6cb Coding Standards: Use strict comparison in wp-includes/class-wp-hook.php.
Follow-up to [4955], [38571].

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


git-svn-id: http://core.svn.wordpress.org/trunk@56023 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-04 11:40:22 +00:00
Sergey Biryukov
dc9517a3e0 Upload: Correct duplicate MIME type for .xlsx files generated by Google Docs.
This expands the code block previously added for `.docx` files to include `.xlsx` files as well, which are known to have the same issue with `finfo_file()`.

Includes a unit test case for `wp_check_filetype_and_ext()`.

Reference: [https://bugs.php.net/bug.php?id=77784 PHP Bug #77784: mime_content_type() result gets doubled for .xlsx].

Follow-up to [56497].

See #57898.
Built from https://develop.svn.wordpress.org/trunk@56510


git-svn-id: http://core.svn.wordpress.org/trunk@56022 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-03 12:51:20 +00:00
Sergey Biryukov
c5a0103fb5 Site Health: Show correct debug value for file uploads.
Follow-up to [48535].

Props Michi91, Presskopp.
Fixes #58737.
Built from https://develop.svn.wordpress.org/trunk@56509


git-svn-id: http://core.svn.wordpress.org/trunk@56021 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-02 18:36:24 +00:00
Felix Arntz
b58ed80f20 Options, Meta APIs: Introduce wp_set_option_autoload_values().
This function accepts an associative array of option names and their autoload values to set, and it will update those values in the database in bulk, only for those options where the autoload field is not already set to the given value.

Two wrapper functions for ease of use accompany the new main function:
* `wp_set_options_autoload( $options, $autoload )` can be used to set multiple options to the same autoload value.
* `wp_set_option_autoload( $option, $autoload )` can be used to set the autoload value for a single option.

All of these functions allow changing the autoload value of an option, which previously has only been possible in combination with updating the value. This limitation prevented some relevant use-cases: For example, a plugin deactivation hook could set all of its options to not autoload, as a cleanup routine, while not actually deleting any data. The plugin's activation hook could then implement the reverse, resetting those options' autoload values to the originally intended ones for when using the plugin.

Props boonebgorges, joemcgill, costdev, mukesh27, SergeyBiryukov, tabrisrp, flixos90.
Fixes #58964.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56020 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-01 19:57:20 +00:00
Felix Arntz
5b6555a384 Editor: Ensure main query loop is entered for singular content in block themes.
Block themes currently lack the means to trigger the main query loop for singular content, since they cannot reasonably use the `core/query` and `core/post-template` blocks which are intended only for displaying a list of posts. So far, the missing main query loop on singular block templates has been worked around by enforcing the loop in certain `core/post-*` blocks, which however causes other bugs.

This changeset ensures that the main query loop is still started for singular block theme templates, by wrapping the entire template into the loop, which will by definition only have a single cycle as it only encompasses a single post. This is currently the most reliable solution, since even if there were blocks to properly trigger the main query loop on singular content, it would be unrealistic to expect all existing block themes to update their templates accordingly. It may be revisited in the future.

Props gziolo, youknowriad, joemcgill, costdev, mukesh27, flixos90.
Fixes #58154.
See #59225, #58027.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56019 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-01 17:32:16 +00:00
Pascal Birchler
371b940439 Build/Test Tools: Compare results in performance measurement workflow.
This extends the performance test workflow added in [55459] to also run tests against the target branch (if running on a pull request) or the previous commit (if running on trunk).

Those results are then compared with the ones from the current commit, and the difference is displayed as a GitHub Actions workflow summary for convenience.

Props mukesh27, flixos90, desrosj, joemcgill, swissspidy.
Fixes #58358, #58359.
See #56150.
Built from https://develop.svn.wordpress.org/trunk@56506


git-svn-id: http://core.svn.wordpress.org/trunk@56018 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-01 17:26:16 +00:00
Sergey Biryukov
023f4f860b Upgrade/Install: Remove unused globals in core_upgrade_preamble().
Follow-up to [49638].

Props upadalavipul.
See #59254.
Built from https://develop.svn.wordpress.org/trunk@56505


git-svn-id: http://core.svn.wordpress.org/trunk@56017 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-01 11:07:13 +00:00
Sergey Biryukov
e7475d16ba Media: Remove unused $is_IE and $is_opera globals in media_upload_form().
Follow-up to [27316].

Props upadalavipul.
See #59254.
Built from https://develop.svn.wordpress.org/trunk@56504


git-svn-id: http://core.svn.wordpress.org/trunk@56016 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-01 11:03:23 +00:00
isabel_brison
e770b922c7 Editor: Don't use fluid layout value in typography.
Changes fluid typography calculation to use fallback value if layout wide size is a fluid value.

Props ramonopoly, mukesh27, jastos, aurooba.
See #58754.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56015 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-01 04:03:21 +00:00
isabel_brison
5db3477859 Editor: Preserve block style variations when securing theme.
Adds the ability to process block style variations to the `remove_insecure_properties` function of theme json class.

Props dsas, ramonopoly.
Fixes #59108.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56014 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-01 02:53:19 +00:00
hellofromTonya
f9f0b6246b Tests: Remove webfonts tests.
Removes the test file and `webfonts` directory for the stopgap code that was deprecated by [56500].

Follow-up to [56500], [53282].

Fixes #59165.
Built from https://develop.svn.wordpress.org/trunk@56501


git-svn-id: http://core.svn.wordpress.org/trunk@56013 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-31 22:18:21 +00:00
hellofromTonya
8c4c35311b Introduce font-face styles generator and printer.
Introducing Font Face, a server-side `@font-face` styles generator and printer. 

tl;dr:
* Introduces Font Face.
* Deprecates `_wp_theme_json_webfonts_handler()`.

**Introduce Font Face**

From an array of fonts (i.e. each font-family and its font variations to be processed), it:

1. Validates each `font-face` declaration, i.e. the CSS property and value pairing. If validation fails, processing stops with no font-face styles printed.
3. Generates the `@font-face` CSS for each font-family.
4. Prints the CSS within a `<style id="wp-fonts-local">` element.

The entry point into Font Face is through a new global function called `wp_print_font_faces()`, which is automatically called:

* when the `'wp_head'` hook runs (for the front-end).
* when the `'admin_print_styles'` hook runs (for the back-end).
* when `_wp_get_iframed_editor_assets()` runs to inject the `@font-face` styles into the iframed editor.

Once called, it gets the fonts from Theme_JSON merged data layer, which includes theme defined fonts and user activated fonts (once the Font Library #59166 is introduced into Core).

For classic sites, themes and plugins can directly call `wp_print_font_faces()` and pass their fonts array to it for processing.

**Deprecates `_wp_theme_json_webfonts_handler()`.**

As Font Face is a direct replacement, the stopgap code in `_wp_theme_json_webfonts_handler()` (introduced in 6.0.0 via [53282]) is deprecated and unused in Core.

**Props note:**
There's a long multiple year history baked into Font Face, which dates back to the early versions of a web font API (see #46370 and [https://github.com/WordPress/gutenberg/issues/41479 roadmap]. The props list includes those who contributed from those early versions up to this commit.

**References:**
* #46370 original (Web)Fonts API proposal for registering and enqueuing web fonts.
* [https://github.com/WordPress/gutenberg/issues/41479 Gutenberg tracking issue] which includes the evolution from Webfonts API to Fonts API to Font Face.
* [53282] / #55567 Added the stopgap code `_wp_theme_json_webfonts_handler()` in 6.0.
* [https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face @font-face on mdn web docs]
* #59166 Font Library: Font manager for WordPress

Follow-up to [53282].

Props aristath, jonoaldersonwp, hellofromTonya, andraganescu, annezazu, antonvlasenko, arena, askdesign, azaozz, bph, bradley2083, colorful-tones, costdev, davidbaumwald, desrosj, dingo_d, djcowan, domainsupport, dryanpress, elmastudio, flixos90, francina, garrett-eclipse, gigitux, grantmkin, grapplerulrich, gziolo, ironprogrammer, jb510, jeffpaul, jeremyyip, jffng, joostdevalk, jorgefilipecosta, juanmaguitar, mamaduka, matveb, mburridge, mitogh, ndiego, ntsekouras, oandregal, ocean90, oglekler, paaljoachim, pagelab, peterwilsoncc, poena, priethor, scruffian, SergeyBiryukov, shiloey, simison, skorasaurus, soean, westonruter, wildworks, zaguiini.
Fixes #59165.
Built from https://develop.svn.wordpress.org/trunk@56500


git-svn-id: http://core.svn.wordpress.org/trunk@56012 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-31 21:49:20 +00:00
audrasjb
92dcec465a Coding Standards: Remove unused global variables in various /wp-admin/includes/ files.
Props upadalavipul.
Fixes #59254.




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


git-svn-id: http://core.svn.wordpress.org/trunk@56011 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-31 14:45:20 +00:00
Sergey Biryukov
21011a6ebb Build/Test Tools: Enable running the tests on PHP 8.3.
PHP 8.3 is expected to be released at the end of November 2023.

Enabling the tests to run in CI on PHP 8.3 allows WordPress core to start getting ready.

Note: Xdebug-related tests will not be run on PHP 8.3 at this time as the Docker image for PHP 8.3 does not contain Xdebug yet. Once a stable release of Xdebug 3.3.0 is available, it can be added to the Docker image and the test step can then be enabled for PHP 8.3.

Follow-up to [53922], [56492], [56495].

Props jrf, costdev.
See #59231.
Built from https://develop.svn.wordpress.org/trunk@56498


git-svn-id: http://core.svn.wordpress.org/trunk@56010 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-31 10:17:22 +00:00
audrasjb
f6bd4ab08e Upload: Add a MIME type exception for .docx generated by Google Docs.
This changeset adds an exception to prevent permission issues on `.docx` generated by Google Docs. This is a temporary fix for an upstream bug on the `finfo_file()` 
PHP function which returns a redundant MIME type for these documents.

Props winterstreet, jakariaistauk, mujuonly, mi5t4n, annashopina, audrasjb, azaozz, mikeschroder, oglekler.
Fixes #57898.




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


git-svn-id: http://core.svn.wordpress.org/trunk@56009 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-30 22:32:19 +00:00
audrasjb
6687c0ec8f Editor: Add relative time strings for the wp-date inline script output.
This changeset updates `wp_default_packages_inline_scripts()` to add relative time strings to the `wp-date` inline script, so the JS version of `human_time_diff` 
can output translated strings.

Props ramonopoly, oandregal, swissspidy, manzoorwanijk, adrianduffell, Presskopp.
Fixes #59219, #47373.




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


git-svn-id: http://core.svn.wordpress.org/trunk@56008 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-30 22:11:12 +00:00
audrasjb
42648581c7 HTTP API: Update WP_Http class to avoid PHP deprecation warnings.
This changeset prevents a PHP 8.3 deprecation shown when enabling debug and calling `get_class()` without arguments.

For more info about this deprecation, see https://wiki.php.net/rfc/deprecate_functions_with_overloaded_signatures#get_class_and_get_parent_class.

Props ipajen, rajinsharwar, SergeyBiryukov, jrf.
Fixes #58876.




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


git-svn-id: http://core.svn.wordpress.org/trunk@56007 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-30 22:09:17 +00:00
costdev
b5789d72c3 General: Replace two esc_url_raw() calls in core with sanitize_url().
This aims to improve performance by calling `sanitize_url()` directly, instead of the `esc_url_raw()` wrapper. As of WordPress 6.1, `sanitize_url()` is the recommended function for sanitizing a URL for database or redirect usage.

This replaces the two remaining instances of `esc_url_raw()` with `sanitize_url()` in WordPress core.

Follow-up to [53455], [53933], [54522].

Props rajinsharwar, SergeyBiryukov.
Fixes #59247.
Built from https://develop.svn.wordpress.org/trunk@56494


git-svn-id: http://core.svn.wordpress.org/trunk@56006 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-30 20:25:18 +00:00
Bernhard Reiter
c67fe4b6e5 HTML API: Stop processing HTML when encountering unsupported markup.
It was a design goal of the HTML Processor to abort processing its input document when encountering unsupported markup. Unfortunately there was no test for this and so-far, the HTML Processor has paused, but continued processing in these situations.

In this patch a new test ensures that the HTML Processor stops and refuses to move forward after encountering any unsupported markup. It also ensures that it doesn't report any current tag names since unsupported markup could imply that the read tag name is different than the parsed tag name.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56005 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-30 15:39:16 +00:00
Sergey Biryukov
8429956b09 Tests: Correct uses of ReflectionProperty::setValue() for static properties.
The single parameter signature, which was used for setting the value on a static property, is deprecated since PHP 8.3. A cross-version solution is to pass `null` as the first parameter.

This commit updates all the instances that use the deprecated signature in WordPress core.

Reference: [https://wiki.php.net/rfc/deprecate_functions_with_overloaded_signatures#reflectionpropertysetvalue PHP RFC: Deprecate functions with overloaded signatures: ReflectionProperty::setValue()].

Follow-up to [53152], [54493], [54799].

Props jrf, costdev, Tests: Correct uses of `ReflectionProperty::setValue()` for static properties.

The single parameter signature, which was used for setting the value on a static property, is deprecated since PHP 8.3. A cross-version solution is to pass `null` as the first parameter.

This commit updates all the instances that use the deprecated signature in WordPress core.

Reference: [https://wiki.php.net/rfc/deprecate_functions_with_overloaded_signatures#reflectionpropertysetvalue PHP RFC: Deprecate functions with overloaded signatures: ReflectionProperty::setValue()].

Follow-up to [53152], [54493], [54799].

Props jrf, costdev, sc0ttkclark.
See #59231.
Built from https://develop.svn.wordpress.org/trunk@56492


git-svn-id: http://core.svn.wordpress.org/trunk@56004 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-30 10:51:21 +00:00
Joe McGill
3087927a5f Posts, Post Types: Avoid redundant SQL query in get_pages().
This avoids an additional query by passing the query args directly to the `WP_Query::query()` method, rather than to the constructor and calling get_posts(), following [55569].

Props david.binda, azaozz, spacedmonkey, mukesh27, flixos90, SergeyBiryukov, joemcgill.
Fixes #59224.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56003 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-29 22:13:18 +00:00
Joe McGill
c15220ee49 Posts, Post Types: Reinstate missing sort_column options in get_pages().
This fixes an issue introduced in [55569] that broke sort ordering by `post_modified_gmt` or `modified_gmt`.

Props david.binda, azaozz, spacedmonkey, flixos90, joemcgill.
Fixes #59226.

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


git-svn-id: http://core.svn.wordpress.org/trunk@56002 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-29 22:05:23 +00:00
Pascal Birchler
a4ee712d0d Site Health: fix check name used for REST API permission checks.
Updates the calls to permission validation calls for the `directory-sizes` and `page-cache` routes to actually match the route names.

Follow-up to r54043 and r49154.

Props szepeviktor.
Fixes #59236
Built from https://develop.svn.wordpress.org/trunk@56489


git-svn-id: http://core.svn.wordpress.org/trunk@56001 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-29 15:41:17 +00:00
Pascal Birchler
e07e95e232 Media: Prevent warning if [caption] shortcode is used without attributes.
Props maltfield, aslamdoctor.
Fixes #59206.
Built from https://develop.svn.wordpress.org/trunk@56488


git-svn-id: http://core.svn.wordpress.org/trunk@56000 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-29 15:35:21 +00:00
Sergey Biryukov
cf6042fa3a External Libraries: Upgrade PHPMailer to version 6.8.1.
This is a minor maintenance release.

Note: WordPress core does not include PHPMailer's DSN class, as it is not particularly relevant for WP.

References:
* [https://github.com/PHPMailer/PHPMailer/releases/tag/v6.8.1 PHPMailer 6.8.1 release notes]
* [https://github.com/PHPMailer/PHPMailer/compare/v6.8.0...v6.8.1 Full list of changes in PHPMailer 6.8.1]

Follow-up to [50628], [50799], [51169], [51634], [51635], [52252], [52749], [52811], [53500], [53535], [53917], [54427], [54937], [55557].

Props jrf, Synchro.
Fixes #59238.
Built from https://develop.svn.wordpress.org/trunk@56484


git-svn-id: http://core.svn.wordpress.org/trunk@55996 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-29 13:46:23 +00:00
John Blackbourn
46fda1912c Privacy: Improve docblocks for hooks and functions related to personal data export and erasure.
See #58833

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


git-svn-id: http://core.svn.wordpress.org/trunk@55994 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-28 21:53:21 +00:00
Aaron Jorbin
2213e52fd8 External Libraries: Update jQuery to version 3.7.1.
This release fixes a regression from jQuery 3.6.0 that resulted in rounded dimensions for `<tr />` elements in Chrome and Safari. Also, a (mostly) internal Sizzle method, `jQuery.find.tokenize` that was on the jQuery object was accidentally removed when they removed Sizzle in jQuery 3.7.0. That method has been restored.

References:
- https://blog.jquery.com/2023/08/28/jquery-3-7-1-released-reliable-table-row-dimensions/
- https://github.com/jquery/jquery/compare/3.7.0...3.7.1

Follow-up to [49101], [50445], [50520], [54202], [55012], [55491], [55860].

Props TobiasBg, jorbin.
Fixes #59227.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55993 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-28 17:14:23 +00:00
Sergey Biryukov
1d7eb16bc7 XML-RPC: Remove unused wpdb global in wp_xmlrpc_server::mw_newMediaObject().
Follow-up to [2676], [4961], [5008], [24716], [34578].

Props upadalavipul.
See #59185.
Built from https://develop.svn.wordpress.org/trunk@56480


git-svn-id: http://core.svn.wordpress.org/trunk@55992 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-28 14:37:20 +00:00
John Blackbourn
6a216a567c Editor: Replace some accidental double setting up of tests with proper tearing down.
See #55505, #58955

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


git-svn-id: http://core.svn.wordpress.org/trunk@55991 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-27 20:34:21 +00:00
John Blackbourn
9bb4defc3e Users: Call add_user_meta() instead of update_user_meta() when adding metadata to a new user.
This improves the performance of inserting users as it removes one unnecessary `SELECT` query for every row of metadata inserted.

Props swissspidy, spacedmonkey, johnbillion

Fixes #59212

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


git-svn-id: http://core.svn.wordpress.org/trunk@55990 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-27 12:23:23 +00:00
Sergey Biryukov
c9c4cf7b02 Users: Remove unused wpdb global in check_password_reset_key().
Follow-up to [45716].

Props upadalavipul.
See #59185.
Built from https://develop.svn.wordpress.org/trunk@56477


git-svn-id: http://core.svn.wordpress.org/trunk@55989 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-27 04:49:23 +00:00
John Blackbourn
fb7c6f3df9 Database: Improve the documentation for various methods in the wpdb class.
See #58833

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


git-svn-id: http://core.svn.wordpress.org/trunk@55988 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-26 18:11:20 +00:00
John Blackbourn
75a487bf43 Database: Remove support for the mysql extension.
The `mysql` extension is no longer used in PHP 7 or above. There's a good amount of conditional code in `wpdb` and the health checks that can be removed now that only the `mysqli` functions are used.

Fixes #59118

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


git-svn-id: http://core.svn.wordpress.org/trunk@55987 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-26 13:03:24 +00:00
Sergey Biryukov
b79e69ba3b Docs: Fix typo in a translator comment in _deprecated_class().
Includes a few other formatting adjustments for consistency.

Follow-up to [48327], [56467], [56471].

See #58833.
Built from https://develop.svn.wordpress.org/trunk@56474


git-svn-id: http://core.svn.wordpress.org/trunk@55986 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-26 04:49:21 +00:00
audrasjb
108b9f8ddb Upgrade/Install: Add missing escaping function for get_option( 'home' ) in upgrade.php.
Props dilipbheda.
Fixes #59199.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55985 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-25 05:44:16 +00:00
audrasjb
1b245d9568 Docs: Improve PHPCS comments general consistency.
Props nekojonez.
See #58833.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55984 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-25 05:11:17 +00:00
audrasjb
510c3e9628 Docs: Docblock improvements in _deprecated_class() function, as per docblocks standards.
Follow-up to [56467].

See #58833.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55983 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-25 05:04:19 +00:00
Drew Jaynes
24ac6595a6 Fix coding standards for Tests_Admin_wpUserSearch
See #41125.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55982 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-25 03:44:19 +00:00
Drew Jaynes
d2b2957bcb Properly deprecate both constructors in WP_User_Search.
- `__construct()` gets the new `_deprecated_class()` function
- `WP_User_Search` PHP4 style constructor is changed from `_deprecated_function()` to `_deprecated_constructor()`

Adds a test to confirm `WP_User_Search` class is testable as deprecated.

Props jrf, DrewAPicture.
Fixes #41125.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55981 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-25 03:37:12 +00:00
Drew Jaynes
55d1c71d56 Fix coding standards for translatable _deprecated_class() message strings
See #41125

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


git-svn-id: http://core.svn.wordpress.org/trunk@55980 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-25 03:35:17 +00:00
Drew Jaynes
668dceb31c Introduce a _deprecated_class() function.
Similar to other function in the `_deprecated_*` series, `_deprecated_class()` comes with two new hooks: `deprecated_class_run` and `deprecated_class_trigger_error`.

Support has also been added for setting class deprecation expectations in tests.

Props jrf, wvega, ohryan.
See #41125.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55979 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-25 03:25:21 +00:00
Sergey Biryukov
320d5873f7 Coding Standards: Use strict comparison in wp-includes/class-wp-widget.php.
Follow-up to [10764], [10912], [11427].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55978 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-25 01:28:16 +00:00
desrosj
39c6a67c0a Build/Test Tools: Ensure database containers are prepared for commands.
By default, Docker waits for a container to be started before considering it “ready”. But this does not necessarily mean that it’s ready to receive commands.

This adds a check that ensures the database container is ready to receive commands before proceeding with running commands.

Follow up to [56439], [56440], [56443].

Props rmccue, desrosj.
See #30462, #58867.
Built from https://develop.svn.wordpress.org/trunk@56464


git-svn-id: http://core.svn.wordpress.org/trunk@55976 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 21:04:14 +00:00
Peter Wilson
e227b5e758 Block Editor: Update SVN props to ignore new asset files.
Update svn props to ignore additional CSS files added to WordPress 6.3.

Fixes #59197.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55975 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 21:02:18 +00:00
Adam Silverstein
553f886d61 Customizer: use the correct X-Robots-Tag header.
Fix an issue where the `X-Robots` header was used instead of the `X-Robots-Tag` header.  Using `X-Robots-Tag` yields the correct behavior that the original code intended to add. `X-Robots` is left in place for backward compatibility.

Props michelleblanchette, dhruvishah2203, rajinsharwar, jorbin, hztyfoon, elrae. 

Fixes #58865.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55974 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 20:50:17 +00:00
Weston Ruter
ee4230d5f8 Build Tools: Avoid doing copy:dynamic when running grunt watch when using --dev option.
This prevents erroneously copying a file from source onto itself in source.

Props westonruter, jorbin.
Fixes #59196.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55973 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 20:42:18 +00:00
joedolson
1791f613f4 Help/About: Match icon and text in Help for bulk edit button.
Change the 'x' in the Help message that instructs a user how to remove an item from a group of bulk edit items to use the dashicon and text equivalent that matches the visual and accessible control name.

Props Presskopp, costdev, sabernhardt, matthewfarlymn, bvreeman22.
Fixes #58785.
Built from https://develop.svn.wordpress.org/trunk@56460


git-svn-id: http://core.svn.wordpress.org/trunk@55972 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 20:27:12 +00:00
K. Adam White
96cd4c4224 REST API: Remove misleading comment in WP_REST_Blocks_Controller->get_item_schema.
In r56093 schema caching was added above a comment instructing developers not to cache that controller's schema. However, there is no obvious penalty for re-caching schema that is partially derived from a parent.

Caching schema in the same way in every controller is beneficial consistency, and discussion at WCUS2023 contributor day concluded we could remove this comment.

Props ahardyjpl, davidbinda, johnjamesjacoby, TimothyBlynJacobs.

Fixes #59193. See #58657.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55971 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 20:23:16 +00:00
TimothyBlynJacobs
9af3c92a4e General: Use regular core button styles for page header actions.
Props emailjoey, melchoyce, afercia, michaelarestad, danieltj, helen.
Fixes #41986.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55970 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 20:16:18 +00:00
davidbaumwald
8bd5d74be2 Editor: Optimize wp_get_block_css_selector to remove array_merge calls for better performance.
Some block themes like TT3 use `wp_get_block_css_selector` to determine a CSS selector based on block type and other parameters.  However, recent performance profiling indicated a bottleneck in `wp_get_block_css_selector`, particularly sections that utilize `array_merge`.  By slightly refactoring these sections, `array_merge` calls can be avoided which increases performance.

Props mukesh27, joemcgill, daxelrod, tabrisrp.
Fixes #59178.
Built from https://develop.svn.wordpress.org/trunk@56457


git-svn-id: http://core.svn.wordpress.org/trunk@55969 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 19:59:17 +00:00
Peter Wilson
099ec7eec8 Administration: Escape post type output as field attribute.
Props viralsampat.
Fixes #59190.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55968 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 19:43:12 +00:00
antpb
b6368060a5 Performance: Add fallback for $script_uri to prevent firing plugins_url() unnecessarily.
Previously, in `register_block_script_handle()` the `$script_uri` variable initialized with a `plugins_url()` call that was reported to invoke four times. In this patch the var is initialized as a blank string with a fallback to use the `plugins_url()` if the other intended conditions are not met.

Props mukesh27, daxelrod, adamsilverstein, davidbaumwald.
Fixes #59181.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55967 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 19:38:19 +00:00
Aaron Jorbin
c8aa89e42d Login and Registration: Improve test coverage for sign on related functions
Adds new tests to ensure that `wp_authenticate_email_password`, `wp_authenticate_username_password`, and `wp_authenticate_cookie` are better tested. This also unsets cookies properly between tests.

Props JordanPak, johnregan3.
Fixes #36476.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55966 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 19:14:21 +00:00
joedolson
30ffb247b7 Build/Test: Revert unintentional .env change in [56449].
Also committed a change to .env. Sigh.

Unprops joedolson.
See #56594.
Built from https://develop.svn.wordpress.org/trunk@56453


git-svn-id: http://core.svn.wordpress.org/trunk@55965 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 17:35:17 +00:00
John Blackbourn
aa8ba65a34 Media: Add a filter to the get_available_post_mime_types() function to allow overriding its database query.
This introduces the `get_available_post_mime_types` filter so this query can be skipped or cached by plugins.

Props maciejmackowiak, archon810, rcorrales

Fixes #52759

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


git-svn-id: http://core.svn.wordpress.org/trunk@55964 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 16:55:18 +00:00
whyisjake
7a497b9c2f Bundled Themes: Ensure that pull quotes are able to use the correct font
size.

Pull quote bodies weren't inheriting the correct styling from the block 
editor. This ensure that will happen. 

Props nidhidhandhukiya, poena, varjodesigns, jivygraphics, whyisjake.
Fixes #57854.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55963 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 16:16:12 +00:00
joedolson
0bce794a37 Menus: Revert unintentional changes in [56449].
Accidentally committed two simultaneous patches; reverting unintended list table changes.

Unprops joedolson.
See #56594.
Built from https://develop.svn.wordpress.org/trunk@56450


git-svn-id: http://core.svn.wordpress.org/trunk@55962 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 16:14:18 +00:00
joedolson
ad66de2933 Menus: Fix proximity of controls to Save and Delete menus.
Move the position of the Save and Delete buttons in menu editing so they are immediate neighbors, improving the proximity of related controls. 

Props 90lines, sabernhardt, costdev.
See #56594.
Built from https://develop.svn.wordpress.org/trunk@56449


git-svn-id: http://core.svn.wordpress.org/trunk@55961 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 15:59:12 +00:00
Joe McGill
64e114f233 Rewrite Rules: Prevent stampedes when flush_rewrite_rules() is called
This ensures that the `rewrite_rules` option is not emptied until the new value has been recalculated and the option is updated. The logic for refreshing the option value is moved to a new private method named `WP_Rewrite::refresh_rewrite_rules` which is used by both the `flush_rules` and `refresh_rewrite_rules` methods.

Props iCaleb, joemcgill, flixos90, mukesh27.
Fixes #58998.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55960 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 15:57:17 +00:00
Peter Wilson
1840a5550a Bundled Theme: Twenty Nineteen: Improve social media icon dimension attributes.
Set the default width and height attributes of the SVG social icons to match the dimensions used within the CSS. This increases the attributes to 32px x 32 px.

Props crunnells, mukesh27, laurelfulford, tahmidulkarim, jordanpak.
Fixes #45950.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55959 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 15:34:17 +00:00
Pascal Birchler
4a763f90ac Plugins: Correctly display spaces in new plugins search results.
Ensures the encoded search term in the input field is correctly decoded again.

Follow-up to [53844] and [54904].

Props adhun, nithi22, huzaifaalmesbah, deepakvijayan, zunaid321, iammehedi1.
Fixes #59143.
Built from https://develop.svn.wordpress.org/trunk@56446


git-svn-id: http://core.svn.wordpress.org/trunk@55958 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 15:27:16 +00:00
Felix Arntz
cba2612b9e Options, Meta APIs: Introduce prime_options() to load multiple options with a single database request.
WordPress's `get_option()` function generally relies on making individual database requests for each option, however with the majority of options (in most cases) being autoloaded, i.e. fetched once with a single database request and then stored in (memory) cache.

As part of a greater effort to reduce the amount of options that are unnecessarily autoloaded, this changeset introduces an alternative way to retrieve multiple options in a performant manner, with a single database request. This provides a reasonable alternative for e.g. plugins that use several options which only need to be loaded in a few specific screens.

Specifically, this changeset introduces the following functions:
* `prime_options( $options )` is the foundation to load multiple specific options with a single database request. Only options that aren't already cached (in `alloptions` or an individual cache) are retrieved from the database.
* `prime_options_by_group( $option_group )` is a convenience wrapper function for the above which allows to prime all options of a specific option group (as configured via `register_setting()`).
* `get_options( $options )` is another wrapper function which first primes the requested options and then returns them in an associative array, calling `get_option()` for each of them.

Props mukesh27, joemcgill, costdev, olliejones.
Fixes #58962.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55957 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 14:42:17 +00:00
Aaron Jorbin
6296d14857 Build/Tests: Tests_Formatting_MakeClickable should use data providors
Removes the foreach loops from the tests by moving the in-test data sets into data providers and combines the URL data sets into one data provider to test with one test method. By using a data providor, all the tests run rather than stopping at the first failure in this group.

Fixes #57660.
Props hellofromTonya.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55956 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 14:35:16 +00:00
desrosj
f4ee013cc2 Build/Test Tools: Implicitly pass secrets to the called workflow.
This ensures the Hosting Test results API key is present for reporting results.

Follow up to [56439] and [56440].

See #30462.
Built from https://develop.svn.wordpress.org/trunk@56443


git-svn-id: http://core.svn.wordpress.org/trunk@55955 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 14:23:16 +00:00
desrosj
bf18785366 Build/Test Tools: Change the version of Node.js in the Codespaces container.
Follow up to [56378] and [56387].

Props jeffpaul.
See #56658.
Built from https://develop.svn.wordpress.org/trunk@56442


git-svn-id: http://core.svn.wordpress.org/trunk@55954 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 14:09:18 +00:00
audrasjb
86323b7f59 Docs: Correct default post type in page_template_dropdown() docblock.
The default post type used by `page_template_dropdown()` is `page`, not `post`.

Props maxinacube.
Fixes #58972.
See #58833.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55953 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 13:41:23 +00:00
desrosj
5342e7defe Build/Test Tools: Merge pre-commit changes missed in [56439].
Props l1nuxjedi.
See #30462.
Built from https://develop.svn.wordpress.org/trunk@56440


git-svn-id: http://core.svn.wordpress.org/trunk@55952 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 13:30:16 +00:00
desrosj
67b7960b06 Build/Test Tools: Expand database testing to account for all supported versions and types.
This modifies the PHPUnit workflow to add MySQL version 8.0 to the strategy matrix. It also adds an additional strategy matrix to expand testing to include several supported MariaDB versions.

To prevent repeating code, the business logic of the PHPUnit testing has been moved to a new, callable workflow.

Because callable workflows target a specific branch, branches created in the future will continue to benefit from improvements made to the workflow in `trunk` without requiring backports. If a breaking change is required, older branches will need to be updated to target the commit SHA representing the final commit of the previous state.

Props johnbillion, pento, boonebgorges, netweb, nacin, desrosj.
Fixes #30462.
Built from https://develop.svn.wordpress.org/trunk@56439


git-svn-id: http://core.svn.wordpress.org/trunk@55951 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 13:10:15 +00:00
Sergey Biryukov
71ed5a6b53 Coding Standards: Use strict comparison in wp-includes/ms-site.php.
Follow-up to [12603], [43548], [43654], [44472].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55950 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 11:19:16 +00:00
audrasjb
42c9882b46 Revisions: Add missing escaping function for $post_edit_link in wp-admin/revision.php.
Props nidhidhandhukiya, Presskopp, mukesh27, rajinsharwar, costdev.
Fixes #59141.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55949 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 09:32:21 +00:00
audrasjb
0b772b84ca Docs: Clarify post_date_column_time filter description.
Props crstauf, mukesh27.
Fixes #59029.
See #58833.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55948 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 09:12:12 +00:00
audrasjb
f10d37dfe9 Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards.
See #58833.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55947 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 09:08:15 +00:00
audrasjb
f668df3cec Docs: Wrap inline @see tags in curly braces.
Props costdev, mukesh27.
Fixes #58858.
See #58833.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55946 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 09:01:16 +00:00
audrasjb
ac9381b7c2 Docs: Add missing @param description in WP_Comment class.
Props armondal, hztyfoon, SergeyBiryukov.
Fixes #58890.
See #58833.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55945 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-24 08:44:24 +00:00
Sergey Biryukov
a278aa2ac0 Coding Standards: Use strict comparison in wp-includes/ms-files.php.
Follow-up to [12603], [12936], [56395].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55942 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-23 15:53:24 +00:00
Sergey Biryukov
106404bcbd Posts, Post Types: Remove redundant function calls in get_body_class().
As part of a previous change to add support for post type templates, the `$wp_query->get_queried_object_id()` method ended up being called twice, in both the `is_singular()` and `is_page()` conditional branches.

The `get_post()` function call was also unnecessary, as `$wp_query->get_queried_object()` is already called in the `is_singular()` branch above, which includes the `is_page()` branch too.

This commit removes the redundant calls. The first `$wp_query->get_queried_object_id()` call is removed as well, since the post ID is already available via `$wp_query->get_queried_object()`.

Follow-up to [10485], [10877], [12877], [13032], [21597], [38951].

Props mattkeys, spacedmonkey, oglekler.
Fixes #43661.
Built from https://develop.svn.wordpress.org/trunk@56424


git-svn-id: http://core.svn.wordpress.org/trunk@55936 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-22 12:30:29 +00:00
hellofromTonya
87aa505a94 Editor: Fix error handling of converting classic to block menus.
Fixes the error handling for when `WP_Classic_To_Block_Menu_Converter::convert()` returns an instance of `WP_Error`. `WP_Navigation_Fallback::create_classic_menu_fallback()` now checks for `is_wp_error()` and if `true`, returns the error. And the `@return` type is updated to `string|WP_Error`.

Also includes a fix in the return type in `WP_Classic_To_Block_Menu_Converter::convert()` to return an empty string instead of an array instead, i.e. when bailing out for no menu items returned by `wp_get_nav_menu_items()`. The return type is clearly documented as a `string`.

Follow-up to [56052].

Props dlh, get_dave, antonvlasenko, hellofromTonya.
Fixes #58823.
Built from https://develop.svn.wordpress.org/trunk@56422


git-svn-id: http://core.svn.wordpress.org/trunk@55934 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-21 17:51:19 +00:00
Sergey Biryukov
7ac58a13b4 Build/Test Tools: Update PHPUnit Polyfills to version 1.1.0.
[https://github.com/sebastianbergmann/phpunit/blob/9.6/ChangeLog-9.6.md#961---2023-02-03 PHPUnit 9.6.1] deprecated the `assertObjectHasAttribute()` and `assertObjectNotHasAttribute()` methods, leading to deprecation notices in a number of tests.

[https://github.com/sebastianbergmann/phpunit/blob/10.1.3/ChangeLog-10.1.md#1010---2023-04-14 PHPUnit 10.1.0] brought the methods back by popular request, though renamed as `assertObjectHasProperty()` and `assertObjectNotHasProperty()`, to prevent confusion with PHP 8.0 attributes.

This meant that users which cannot (yet) upgrade to PHPUnit 10.1+ would always have deprecation notices for these methods without recourse. So, after much discussion, the new methods have been backported to [https://github.com/sebastianbergmann/phpunit/blob/9.6/ChangeLog-9.6.md#9611---2023-08-19 PHPUnit 9.6.11], leaving just the 10.0.x series with a deprecation notice and no recourse.

What does this mean for WordPress?

WordPress uses the [https://github.com/Yoast/PHPUnit-Polyfills PHPUnit Polyfills] to be able to write tests for the most recent versions of PHPUnit, with the Polyfills taking care of polyfilling any new PHPUnit methods on older PHPUnit versions.

* The PHPUnit Polyfills 1.x series supports PHPUnit 4.x to 9.x.
* The PHPUnit Polyfills 2.x series supports PHPUnit 5.x to 10.x.

WordPress currently runs against PHPUnit 6.x to 9.x with PHPUnit Polyfills 1.x, while the new methods were previously only included in PHPUnit Polyfills 2.0.0+, as they were introduced in PHPUnit 10.x.

Since the `assertObjectHasProperty()` and `assertObjectNotHasProperty()` methods have been backported to PHPUnit 9.x, the PHPUnit Polyfills will now include these methods in the 1.x series as well.

By upgrading to the latest [https://github.com/Yoast/PHPUnit-Polyfills/releases/tag/1.1.0 PHPUnit Polyfills 1.1.0] release, we can get rid of the deprecation notices related to the use of the `assertObjectHasAttribute()` and `assertObjectNotHasAttribute()` methods.

This could have implications for plugins or themes running integration tests with WordPress if they have set their PHPUnit Polyfills dependency to a fixed version or have a too strict version constraint (limiting the PHPUnit Polyfills to the 1.0.x series). The solution for those plugins or themes is to update their version constraints for the PHPUnit Polyfills to allow for the 1.1.x series.

Follow-up to [51559], [51598].

Props jrf, ayeshrajans.
Fixes #59150.
Built from https://develop.svn.wordpress.org/trunk@56421


git-svn-id: http://core.svn.wordpress.org/trunk@55933 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-21 15:55:20 +00:00
Sergey Biryukov
3280c340cd Coding Standards: Use strict comparison in wp-admin/includes/meta-boxes.php.
Follow-up to [38], [647], [2890], [3570], [11815], [11816], [31550], [52620].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55932 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-20 00:10:22 +00:00
isabel_brison
69e0187d65 Editor: update npm packages with critical bug fixes for 6.3.1.
Includes fixes for footnotes and editor styles related crashes, as well as a cut and paste-related crash.

Props ramonopoly.
See #59151.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55931 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-19 23:22:38 +00:00
Sergey Biryukov
efdebb621b Docs: Correct punctuation in some instances of the $crop parameter description.
Follow-up to [56416].

See #58833.
Built from https://develop.svn.wordpress.org/trunk@56418


git-svn-id: http://core.svn.wordpress.org/trunk@55930 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-19 00:10:23 +00:00
Andrew Ozz
7715c78c85 Revert the last use of str_starts_with() in update-core.php.
Fixes updating WordPress from 5.7 and earlier versions. When doing the update this file runs first in the old version where the polifills may not be available.

Porps: frankit.
Fixes: #59145.
Built from https://develop.svn.wordpress.org/trunk@56417


git-svn-id: http://core.svn.wordpress.org/trunk@55929 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-18 23:25:24 +00:00
John Blackbourn
b5e754ee35 Media: Standardise documentation of the $crop parameter for various media functions and methods.
See #58833

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


git-svn-id: http://core.svn.wordpress.org/trunk@55928 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-18 17:56:17 +00:00
John Blackbourn
3d796edc68 REST API: Correct the docblocks for various permission related methods.
See #58833

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


git-svn-id: http://core.svn.wordpress.org/trunk@55927 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-18 17:46:18 +00:00
John Blackbourn
4667b9323f Docs: Miscellaneous docblock corrections and improvements.
See #58833

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


git-svn-id: http://core.svn.wordpress.org/trunk@55926 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-18 17:29:20 +00:00
oandregal
66e0592185 Themes: add wp_get_theme_data_custom_templates function.
Adds a new public function, `wp_get_theme_data_custom_templates` that returns the `customTemplates` defined by the active theme from `theme.json`. It also substitutes the usage of private APIs by this new 
API.

Props johnbillion, audrasjb.
Fixes #59137


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


git-svn-id: http://core.svn.wordpress.org/trunk@55925 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-18 13:22:13 +00:00
oandregal
6f42888d5e Add missing @ to the return tag in the wp_get_theme_data_template_parts function.
Props audrasjb, johnbillion.
Fixes #59003


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


git-svn-id: http://core.svn.wordpress.org/trunk@55924 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-18 13:18:17 +00:00
Sergey Biryukov
3fa176f4fe Coding Standards: Improve variable names in wp_save_image().
This resolves a few WPCS warnings:
{{{
Variable "$sX" is not in valid snake_case format, try "$s_x"
Variable "$sY" is not in valid snake_case format, try "$s_y"
}}}

The `$sX` and `$sY` variables are renamed to `$original_width` and `$original_height`, respectively.

Additionally, the `$fwidth` and `$fheight` variables are renamed to `$full_width` and `$full_height`, for clarity.

Follow-up to [11965], [22094], [56400].

See #58831.
Built from https://develop.svn.wordpress.org/trunk@56411


git-svn-id: http://core.svn.wordpress.org/trunk@55923 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-18 10:09:23 +00:00
joedolson
3e1db7f59d Administration: Invalid argument passed in additional_classes.
Fix `additional_classes` argument passed as a string instead of an array. Follow up to [56409].

Props joedolson.
See #57791.
Built from https://develop.svn.wordpress.org/trunk@56410


git-svn-id: http://core.svn.wordpress.org/trunk@55922 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-17 21:36:21 +00:00
joedolson
82417a694f Administration: Apply admin notice functions in multisite.
Use `wp_get_admin_notice` and `wp_admin_notice` to handle multisite settings notices.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55921 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-17 21:03:19 +00:00
joedolson
d5f3b7feab Administration: Add function to standardize admin notices.
Add functions `wp_get_admin_notice()` and `wp_admin_notice()` to create and output admin notices & tests for usage. New functions accept a message and array of optional arguments. This commit does not implement the functions. Include new filters: `wp_admin_notice_args`, `wp_admin_notice_markup` and action: `wp_admin_notice`. 

Props joedolson, costdev, sakibmd, dasnitesh780, sabernhardt.
Fixes #57791.
Built from https://develop.svn.wordpress.org/trunk@56408


git-svn-id: http://core.svn.wordpress.org/trunk@55920 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-17 20:29:21 +00:00
desrosj
aa9955e926 Build/Test Tools: Revert Slack messaging changes.
This reverts [56404], [56405], [56406].

More testing is needed to ensure multiple messages are not sent unintentionally.

Unprops desrosj.
See #58867.
Built from https://develop.svn.wordpress.org/trunk@56407


git-svn-id: http://core.svn.wordpress.org/trunk@55919 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-17 17:58:15 +00:00
desrosj
3b88a37e6e Build/Test Tools: Send a failure notice in Slack when a run fails to start.
This adds `startup_failure` to the list of conclusions that the Slack workflow looks for when determining whether to send a failure notice.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55918 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-17 17:36:16 +00:00
desrosj
47a06aed12 Build/Test Tools: Use the correct variable for checking the previous conclusion.
Follow up to [56404].
See #58867.
Built from https://develop.svn.wordpress.org/trunk@56405


git-svn-id: http://core.svn.wordpress.org/trunk@55917 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-17 17:19:17 +00:00
desrosj
c165f9d301 Build/Test Tools: Don’t send a Slack notice when a workflow fails once.
[53947] introduced a callable workflow that allowed a workflow run to be retried automatic. By default all workflows are retried once.

Since a run is not considered “failed” until after the automatic retry, the first Slack message is unnecessary and can cause a lot of noise when there are network hiccups.

This alters the logic to skip a failure notice in Slack until the second failure.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55916 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-17 17:01:18 +00:00
Weston Ruter
36d24b511a Editor: Ensure defer loading strategy is only applied to a block's viewScript.
Amends [56398].
Props gziolo, westonruter.
Fixes #59115.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55915 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-17 16:39:18 +00:00
desrosj
a8ab676b36 Build/Test Tools: Simplify the required prerequisite jobs for the failed-workflow job.
Because `slack-notifications` job requires all preceding jobs in each workflow to complete, there’s no need to include the same jobs in the `needs` configuration for the `failed-workflow` one.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55914 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-17 14:44:16 +00:00
Sergey Biryukov
a26771b347 Site Health: Correct the check for disk space available to safely perform updates.
If the available disk space exceeds the `PHP_INT_MAX` value, i.e. a 32-bit PHP version is in use with more than 2 GB free, the type casting to `(int)` could cause an overflow, and the Site Health test would then erroneously report that there is not enough free space. 

This commit removes the unnecessary type casting and uses the result from `disk_free_space()` directly.

Includes optimizing the logic to skip further checks if the available disk space could not be determined.

Follow-up to [55720].

Props mathsgrinds, Presskopp, rajinsharwar, SergeyBiryukov.
Fixes #59116.
Built from https://develop.svn.wordpress.org/trunk@56401


git-svn-id: http://core.svn.wordpress.org/trunk@55913 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-17 11:18:21 +00:00
Sergey Biryukov
caddf7e3dc Coding Standards: Use strict comparison in wp-admin/includes/image-edit.php.
Follow-up to [11911], [11965], [11984], [12155], [12163], [22094].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55912 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-16 14:05:20 +00:00
Pascal Birchler
e30f7901a5 Build/Test Tools: Measure additional load time metrics in performance tests.
Three new metrics are being collected and reported as part of this change:

- Time To First Byte (TTFB) - the time between the request for a resource and when the first byte of a response begins to arrive
- Largest Contentful Paint (LCP) — the render time of the largest image or text block visible within the viewport
- The difference between the two (LCP minus TTFB)

Props joemcgill, flixos90, oandregal, mukesh27, youknowriad, swissspidy.
Fixes #58360.
Built from https://develop.svn.wordpress.org/trunk@56399


git-svn-id: http://core.svn.wordpress.org/trunk@55911 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-16 08:48:23 +00:00
Weston Ruter
467c7de24d Editor: Use defer loading strategy for block view scripts.
Props westonruter, joemcgill.
Fixes #59115.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55910 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-16 00:15:23 +00:00
Sergey Biryukov
832b4660fd Docs: Fix typo in duplicate hook references for views_{$this->screen->id}.
Follow-up to [29218], [29625].

Props nithins53, NekoJonez, mukesh27.
Fixes #59102. See #58833.
Built from https://develop.svn.wordpress.org/trunk@56397


git-svn-id: http://core.svn.wordpress.org/trunk@55909 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-15 10:09:24 +00:00
Sergey Biryukov
356e6cac57 Coding Standards: Use strict comparison in wp-admin/includes/class-wp-importer.php.
Follow-up to [14760], [50658].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55908 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-14 09:59:20 +00:00
Sergey Biryukov
11aa9b4da5 Coding Standards: Bring more consistency to Last-Modified and ETag checks.
This updates two fragments for sending a `304 Not Modified` header to better align with each other by using consistent variable names and formatting. 

Follow-up to [1036], [1037], [1043], [2534], [2584], [2627], [12603], [12936], [56362].

See #58831.
Built from https://develop.svn.wordpress.org/trunk@56395


git-svn-id: http://core.svn.wordpress.org/trunk@55907 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-13 10:31:23 +00:00
Sergey Biryukov
22f80e9382 Coding Standards: Use strict comparison in wp-includes/cron.php.
Includes minor code layout fixes for better readability.

Follow-up to [3634], [4189].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55906 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-12 12:02:24 +00:00
desrosj
0c05aa75e8 External Libraries: Update imagesLoaded to version 5.0.0.
This release drops support for IE and moves to using ES6.

A full list of changes can be found on GitHub: https://github.com/desandro/imagesloaded/compare/v4.1.4...v5.0.0.

Props nazsabuz, arnedb, costdev, audrasjb, ahmedgeek , valmedia2023 , hareesh-pillai.
Fixes #56731.
Built from https://develop.svn.wordpress.org/trunk@56393


git-svn-id: http://core.svn.wordpress.org/trunk@55905 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-11 18:18:26 +00:00
John Blackbourn
a240a161b9 Editor: Only exclude auto-generated block files from coding standards checks.
Prior to this change, all block files were excluded from coding standards checks, but there's no reason these files shouldn't adhere to core's coding standards.

Props lopo, Rahe, adamsilverstein 

Fixes #50010

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


git-svn-id: http://core.svn.wordpress.org/trunk@55904 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-11 17:03:17 +00:00
desrosj
43e676dedb External Libraries: Update Backbone.js to version 1.5.0.
This release contains bug fixes and documentation improvements.

A full list of changes can be found on GitHub: https://github.com/jashkenas/backbone/compare/1.4.1...1.5.0.

Props rajinsharwar, hareesh-pillai.
Fixes #58930.
Built from https://develop.svn.wordpress.org/trunk@56391


git-svn-id: http://core.svn.wordpress.org/trunk@55903 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-11 16:12:21 +00:00
desrosj
afd36de0b5 Build/Test Tools: Update all build tool related dependencies.
This updates the following dependencies to their latest versions:
- `chalk`
- `cssnano`
- `dotenv`
- `grunt-contrib-cssmin`
- `grunt-contrib-qunit`
- `grunt-webpack`
- `jest-image-snapshot`
- `postcss`
- `sass`
- `sinon`
- `webpack`

Additionally, `npm audit fix` has been run to automatically fix as many issues as possible.

See #58863.
Built from https://develop.svn.wordpress.org/trunk@56390


git-svn-id: http://core.svn.wordpress.org/trunk@55902 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-11 16:04:29 +00:00
desrosj
dbb1d98290 External Libraries: Update the whatwg-fetch polyfill library.
This updates the `whatwg-fetch` library from version `3.6.2` to `3.6.17`, the latest current version.

This library is included and registered within WordPress as the `wp-polyfill-fetch` script and is no longer used by WordPress itself.

Props rajinsharwar, hareesh-pillai.
Fixes #59066.
Built from https://develop.svn.wordpress.org/trunk@56389


git-svn-id: http://core.svn.wordpress.org/trunk@55901 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-11 14:44:18 +00:00
desrosj
c392de6215 Build/Test Tools: Update 3rd-party GitHub Actions.
This updates all 3rd-party GitHub Actions to their latest versions.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55900 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-11 13:05:17 +00:00
desrosj
1fca49bfda Build/Test Tools: Update the README file to reflect new Node.js/npm versions.
Follow up to [56378].

Props dantovbein, hbhalodia.
Fixes #59071. See #56658.
Built from https://develop.svn.wordpress.org/trunk@56387


git-svn-id: http://core.svn.wordpress.org/trunk@55899 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-11 12:49:15 +00:00
Sergey Biryukov
93bf4a6d6f Docs: Correct duplicate hook reference for wp_min_priority_img_pixels.
The original filter location is `wp_maybe_add_fetchpriority_high_attr()` in `wp-includes/media.php`.

This commit updates the instance in `wp_get_loading_optimization_attributes()` to point to the correct file.

Follow-up to [56037], [56143], [56347].

Props tmatsuur, rajinsharwar, khokansardar.
Fixes #59067.
Built from https://develop.svn.wordpress.org/trunk@56386


git-svn-id: http://core.svn.wordpress.org/trunk@55898 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-11 11:35:19 +00:00
oandregal
96c6c273dd Themes: add wp_get_theme_data_template_parts function.
Adds a new public function, `wp_get_theme_data_template_parts` that returns the `templateParts` defined by the active theme from `theme.json`. It also substitutes the usage of private APIs by this new API.

Props felixarntz.
Fixes #59003

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


git-svn-id: http://core.svn.wordpress.org/trunk@55897 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-11 11:24:11 +00:00
Sergey Biryukov
77a55d839e Tests: Correct two @covers annotations to use the recommended pattern.
When global functions are covered, they need to be prefixed with `::` (double colon) to distinguish them from class name.

Reference: [https://docs.phpunit.de/en/10.3/annotations.html#covers PHPUnit Manual: @covers annotation].

Follow-up to [48848], [49305], [53741], [56296].

Props ayeshrajans.
Fixes #59069.
Built from https://develop.svn.wordpress.org/trunk@56384


git-svn-id: http://core.svn.wordpress.org/trunk@55896 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-11 11:19:20 +00:00
Weston Ruter
a2cdce6c82 Embeds: Modernize wp-embed script with removal of obsolete IE10/IE11 code and support for WP<4.4.
* Remove obsolete `load` event handler in `wp-embed` since IE10+ support `DOMContentLoaded`.
* Replace obsolete use of `document.createElement('a')` in favor of the newer `URL` class (supported in all browsers but obsolete IE11).
* Remove obsolete IE10/IE11 code.
* Combine conditionals.
* Use `substring()` instead of deprecated `substr()` method.
* Eliminate the stipulation that `wp-embed.js` not include ampersands, considering this was put in place for WP<4.3 which now accounts for only 1.43% of sites. This includes the elimination of the `verify:wp-embed` grunt task.

Props westonruter, swissspidy.
Fixes #58974.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55895 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-10 19:49:17 +00:00
Felix Arntz
268203f8aa Editor: Simplify usage of block_has_support() function by supporting a string.
Most block feature checks are for a single feature string, and for such cases it is not intuitive to require an array for the `$feature` parameter of the `block_has_support()` function.

This changeset brings it in line with other functions like `post_type_supports()`, allowing to pass a string for the `$feature`. An array is still supported for more complex cases where support for sub-features needs to be determined. This change furthermore includes a very minor performance tweak by avoiding calls to the `_wp_array_get()` function if a single feature string is being checked for.

Props thekt12, nihar007, mukesh27, swissspidy.
Fixes #58532.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55894 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-10 16:48:19 +00:00
Sergey Biryukov
f106155bf8 Users: Correct the logic for switch_to_blog() in WP_User_Query::generate_cache_key().
If `$blog_id` equals `0`, it should be treated as the current site ID, and there is no need to switch to a different site.

This commit prevents an unnecessary call to `switch_to_blog()` on single site to avoid a fatal error when using `'orderby' => 'post_count'` and the deprecated `'who' => 'authors'` parameter:
{{{
Uncaught Error: Call to undefined function switch_to_blog() in wp-includes/class-wp-user-query.php:1077
}}}

Follow-up to [55657].

Props dd32, austinginder, RavanH, mukesh27.
Fixes #59011.
Built from https://develop.svn.wordpress.org/trunk@56381


git-svn-id: http://core.svn.wordpress.org/trunk@55893 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-10 10:26:19 +00:00
Bernhard Reiter
12884f0361 HTML API: Add support for BUTTON element.
This patch adds support to process the BUTTON element. This requires adding some additional semantic rules to handle situations where a BUTTON element is already in scope.

Also included is a fixup to enforce that `WP_HTML_Processor::next_tag()` never returns for a tag closer. This is useful with the Tag Processor, but not for the HTML Processor. There were tests relying on this behavior to assert that internal processes were working as they should, but those tests have been updated to use the semi-private `step()` function, which does stop on tag closers.

This patch is one in a series of changes to expand support within the HTML API, moving gradually to allow for more focused changes that are easier to review and test. The HTML Processor is a work in progress with a certain set of features slated to be ready and tested by 6.4.0, but it will only contain partial support of the HTML5 specification even after that. Whenever it cannot positively recognize and process its input it bails, and certain function stubs and logical stubs exist to structure future expansions of support.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55892 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-10 08:37:20 +00:00
Sergey Biryukov
5ac6ad6e2e Docs: Remove @see references for SimplePie classes.
As SimplePie is an external library, these classes are not parsed for the WordPress Code Reference, so the `@see` tags were linking to non-existing pages.

Follow-up to [38112].

Props crstauf.
Fixes #59030.
Built from https://develop.svn.wordpress.org/trunk@56379


git-svn-id: http://core.svn.wordpress.org/trunk@55891 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-10 01:06:21 +00:00
desrosj
c7133f4fae Build/Test Tools: Bump the required versions of Node.js and npm.
This changes the minimum required version of Node.js to 16.19.1, and npm to 8.19.3.

Node.js 14.x reached end of life on April 30, 2023. While 18.x is the currently active LTS version, it can’t yet be used due to a systems level constraint on the build server. 

Updating further will be considered once this blocker is resolved.

Gutenberg has also been updated to follow the same version requirements for consistency.

Props youknowriad, gziolo, swissspidy, kevin940726, desrosj.
Fixes #56658.
Built from https://develop.svn.wordpress.org/trunk@56378


git-svn-id: http://core.svn.wordpress.org/trunk@55890 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-09 18:54:51 +00:00
Sergey Biryukov
ba52c45385 Coding Standards: Use strict comparison in wp-includes/kses.php.
Follow-up to [649], [2896], [3418], [8386], [20540], [47219], [54933].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55889 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-09 11:01:24 +00:00
Aaron Jorbin
5341f9b212 HTML API: Fix missing * for docblock.
Follow up to [56363].

Props dmsnell.
See #58918. Fixes #59010.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55888 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-08 23:01:26 +00:00
Felix Arntz
65a442fbcd Options, Meta APIs: Expand $autoload parameter documentation.
This changeset expands documentation of the `$autoload` parameter of the `add_option()` and `update_option()` functions, in order to provide more context on what autoloading is and which considerations should go into the decision whether to autoload an option.

Excessive autoloading of options can lead to severe performance problems on some sites, and lack of documentation is a partial cause for the issue.

Props rajinsharwar.
Fixes #58963.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55882 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-07 19:33:32 +00:00
davidbaumwald
2ecfc4f9a0 Upgrade/Install: Update $_old_files for 6.3.
Props SergeyBiryukov.
Fixes #58994.
Built from https://develop.svn.wordpress.org/trunk@56365


git-svn-id: http://core.svn.wordpress.org/trunk@55877 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-07 17:21:29 +00:00
Bernhard Reiter
fa83c8e1cd HTML API: Adjust code styling to Gutenberg's linter's preferences.
Adjust the code style according to the rules that the linting process in Gutenberg requires.

There are only a couple code changes that should have no effect on the runtime:
 - A missing check to verify that only `UTF-8` is supported has been added (brought up because it was identified as an undefined variable).
 - A few `return false;` statements have been added to avoid having the linter complain that functions don't return a value despite indicating they return `bool`. The functions are stubs for coming support and currently `throw`, so the `return` statements are unreachable.

Props dmsnell, costdev, davidbaumwald, peterwilsoncc, SergeyBiryukov.
Fixes #58918.
Built from https://develop.svn.wordpress.org/trunk@56363


git-svn-id: http://core.svn.wordpress.org/trunk@55875 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-07 13:50:27 +00:00
Sergey Biryukov
da0f366b22 Coding Standards: Use strict comparison in wp-includes/class-wp.php.
Includes minor code layout fixes for better readability.

Follow-up to [1043], [2534], [2584], [2627], [2958], [3252], [3564], [21818], [37356].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55874 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-07 10:01:27 +00:00
Sergey Biryukov
52317da292 Coding Standards: Use strict comparison in wp-includes/class-wp-image-editor.php.
Follow-up to [22094].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55873 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-06 12:52:25 +00:00
Sergey Biryukov
df89489ac6 Coding Standards: Rewrite loose comparison in wp_list_categories().
A truthy check is more in line with similar checks elsewhere, including conditionals in the same exact code block.

Follow-up to [10275], [34696].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55872 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-05 14:02:26 +00:00
Sergey Biryukov
ba7c01a09c Coding Standards: Use strict comparison in wp-includes/revision.php.
Follow-up to [24414], [38118], [38433].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55871 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-04 11:58:25 +00:00
Weston Ruter
b26df97c16 Emoji: Suppress console errors from sessionStorage usage in sandboxed post embed iframe.
Amends [56074].

Props westonruter, flixos90.
Fixes #58978.
See #58472.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55870 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-04 00:23:25 +00:00
Felix Arntz
7c7f95a8b2 Themes: Avoid unnecessary check whether parent template file exists when not using a child theme.
Prior to this change, the `locate_template()` function would unconditionally check whether the relevant template file exists in the parent theme, which for sites not using a child theme is an exact duplicate of the previous check. This is wasteful and has a small impact on performance since `file_exists()` checks have a cost.

Props nihar007, thekt12, spacedmonkey, mukesh27.
Fixes #58576.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55869 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-03 20:31:22 +00:00
hellofromTonya
65da089d96 Code Modernization: Use "declare" in WP_List_Table magic methods deprecation message
Changes "define" to "declare" in the deprecation message in `WP_List_Table` magic methods.

Why is "declare" better?
It aligns well to:

* the topic of and published information about dynamic properties.
* the act of explicitly listing the variable as a property on the class.

The goal of this message is guide developers to change their code. Changing the term to "declare" hopefully will aid in the understanding of what is being asked of developers when this deprecation is thrown.

Follow-up [56349].

Props hellofromTonya, antonvlasenko.
Fixes #58896.
Built from https://develop.svn.wordpress.org/trunk@56356


git-svn-id: http://core.svn.wordpress.org/trunk@55868 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-03 19:52:22 +00:00
Weston Ruter
5ccbf34eaa Script Loader: Use defer loading strategy for wp-embed script and move to head (in block themes).
Props westonruter, flixos90, swissspidy.
Fixes #58931.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55867 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-03 19:22:22 +00:00
hellofromTonya
7d0d2b0edf Code Modernization: Deprecate dynamic properties in WP_Text_Diff_Renderer_Table magic methods.
The unknown use of unknown dynamic property within the `WP_Text_Diff_Renderer_Table` property magic methods is now deprecated. A descriptive deprecation notice is provided to alert developers to declare the property on the child class extending `WP_Text_Diff_Renderer_Table`.

Changes in this commit:
* Adds a deprecation notice to the `__get()`, `__set()`, `__isset()`, `__unset()` magic methods, i.e. to alert and inform developers when attempting to get/set/isset/unset a dynamic property.
* Fixes `__get()` to explicitly returns `null` when attempting to get a dynamic property.
* Fixes `__set()` by removing the value return after setting a declared property, as (a) unnecessary and (b) `__set()` should return `void` [https://www.php.net/manual/en/language.oop5.overloading.php#object.set per the PHP handbook].
* Fixes `__isset()` to return `false` if not in the `$compat_fields`, as `isset()` and `__isset()` should always return `bool`:
   * [https://www.php.net/manual/en/language.oop5.overloading.php#object.isset `__isset()` in the PHP manual] 
   * [https://www.php.net/manual/en/function.isset.php `isset()` in the PHP manual] 
* Adds a test class with happy and unhappy paths for these changes.

For backward compatibility, no changes are made to the internal declared properties listed in `$compat_fields` and accessed through the magic methods. 

For example:
A child class uses a property named `$data` that is not declared as a property on the child class. When getting its value, e.g. `$user_query->data`, the `WP_Text_Diff_Renderer_Table::__get()` magic method is invoked, the following deprecation notice thrown, and `null` returned:

>The property `data` is not declared. Setting a dynamic property is deprecated since version 6.4.0! Instead, declare the property on the class.

=== Why not remove the magic methods, remove the `$compat_fields` property, and restore the properties `public`?

tl;dr Backward compatibility.

If a plugin adds a property to `$compat_fields` array, then sites using that plugin would experience (a) an `Undefined property` `Warning` (PHP 8) | `Notice` (PHP 7) and (b) a possible change in behavior.

=== Why not limit the deprecation for PHP versions >= 8.2?

tl;dr original design intent and inform

The magic methods and `$compat_fields` property were added for one purpose: to continue providing external access to internal properties declared on `WP_Text_Diff_Renderer_Table`. They were not intended to be used for dynamic properties.

Deprecating that unintended usage both alerts developers a change is needed in their child class and informs them what to change.

References: 
* Dynamic (non-explicitly declared) properties are deprecated as of PHP 8.2 and are expected to become a fatal error in PHP 9.0.
* A [https://www.youtube.com/live/vDZWepDQQVE?feature=share&t=10097 live open public working session] where these changes were discussed and agreed to.
* [https://wiki.php.net/rfc/deprecate_dynamic_properties PHP RFC: Deprecate dynamic properties.]

Follow-up to [28525], [31135].

Props antonvlasenko, rajinsharwar, jrf, markjaquith, hellofromTonya, SergeyBiryukov, desrosj, peterwilsoncc, audrasjb, costdev, oglekler, jeffpaul.
Fixes #58898.
See #56034.
Built from https://develop.svn.wordpress.org/trunk@56354


git-svn-id: http://core.svn.wordpress.org/trunk@55866 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-03 18:13:24 +00:00
hellofromTonya
cdc8015125 Code Modernization: Deprecate dynamic properties in WP_User_Query magic methods.
The unknown use of unknown dynamic property within the `WP_User_Query` property magic methods is now deprecated. A descriptive deprecation notice is provided to alert developers to declare the property on the child class extending `WP_User_Query`.

Changes in this commit:
* Adds a deprecation notice to the `__get()`, `__set()`, `__isset()`, `__unset()` magic methods, i.e. to alert and inform developers when attempting to get/set/isset/unset a dynamic property.
* Fixes `__get()` to explicitly returns `null` when attempting to get a dynamic property.
* Fixes `__set()` by removing the value return after setting a declared property, as (a) unnecessary and (b) `__set()` should return `void` [https://www.php.net/manual/en/language.oop5.overloading.php#object.set per the PHP handbook].
* Fixes `__isset()` to return `false` if not in the `$compat_fields`, as `isset()` and `__isset()` should always return `bool`:
   * [https://www.php.net/manual/en/language.oop5.overloading.php#object.isset `__isset()` in the PHP manual] 
   * [https://www.php.net/manual/en/function.isset.php `isset()` in the PHP manual] 
* Adds unit tests for happy and unhappy paths.

For backward compatibility, no changes are made to the internal declared properties listed in `$compat_fields` and accessed through the magic methods. 

For example:
A child class uses a property named `$data` that is not declared as a property on the child class. When getting its value, e.g. `$user_query->data`, the `WP_User_Query::__get()` magic method is invoked, the following deprecation notice thrown, and `null` returned:

>The property `data` is not declared. Setting a dynamic property is deprecated since version 6.4.0! Instead, declare the property on the class.

=== Why not remove the magic methods, remove the `$compat_fields` property, and restore the properties `public`?

tl;dr Backward compatibility.

If a plugin adds a property to `$compat_fields` array, then sites using that plugin would experience (a) an `Undefined property` `Warning` (PHP 8) | `Notice` (PHP 7) and (b) a possible change in behavior.

=== Why not limit the deprecation for PHP versions >= 8.2?

tl;dr original design intent and inform

The magic methods and `$compat_fields` property were added for one purpose: to continue providing external access to internal properties declared on `WP_User_Query`. They were not intended to be used for dynamic properties.

Deprecating that unintended usage both alerts developers a change is needed in their child class and informs them what to change.

References: 
* Dynamic (non-explicitly declared) properties are deprecated as of PHP 8.2 and are expected to become a fatal error in PHP 9.0.
* A [https://www.youtube.com/live/vDZWepDQQVE?feature=share&t=10097 live open public working session] where these changes were discussed and agreed to.
* [https://wiki.php.net/rfc/deprecate_dynamic_properties PHP RFC: Deprecate dynamic properties.]

Related to #14579, #27881, #30891.

Follow-up to [15491], [28528], [31144].

Props antonvlasenko, rajinsharwar, jrf, markjaquith, hellofromTonya, SergeyBiryukov, desrosj, peterwilsoncc, audrasjb, costdev, oglekler, jeffpaul.
Fixes #58897.
See #56034.
Built from https://develop.svn.wordpress.org/trunk@56353


git-svn-id: http://core.svn.wordpress.org/trunk@55865 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-03 16:27:25 +00:00
Sergey Biryukov
34dd52dea7 Coding Standards: Use instanceof keyword instead of the is_a() function.
This is a micro-optimization that removes a few unnecessary function calls.

Follow-up to [31188], [34369], [38986], [41159], [43211], [43230], [44606], [45757].

Props ayeshrajans, jrf, rajinsharwar, costdev, mukesh27, SergeyBiryukov.
Fixes #58943.
Built from https://develop.svn.wordpress.org/trunk@56352


git-svn-id: http://core.svn.wordpress.org/trunk@55864 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-03 12:10:28 +00:00
isabel_brison
8ce9f7e74a Build/Test Tools: revert downgrade of uuid.
Reverts the accidental downgrade of uuid in [56065] by changing it back to 9.0.0.

Props Hareesh Pillai, JeffPaul, audrasjb.
Fixes #58623.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55862 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-03 04:59:37 +00:00
hellofromTonya
50274fbc2b Code Modernization: Deprecate dynamic properties in WP_List_Table magic methods.
The unknown use of unknown dynamic property within the `WP_List_Table` property magic methods is now deprecated. A descriptive deprecation notice is provided to alert developers to declare the property on the child class extending `WP_List_Table`.

Changes in this commit:
* Adds a deprecation notice to the `__get()`, `__set()`, `__isset()`, `__unset()` magic methods, i.e. to alert and inform developers when attempting to get/set/isset/unset a dynamic property.
* Fixes `__get()` to explicitly returns `null` when attempting to get a dynamic property.
* Removes returning the value when setting a declared property, as (a) unnecessary and (b) `__set()` should return `void` [https://www.php.net/manual/en/language.oop5.overloading.php#object.set per the PHP handbook].
* Adds unit tests for happy and unhappy paths.

For backward compatibility, no changes are made to the internal declared properties listed in `$compat_fields` and accessed through the magic methods. 

For example:
A child class uses a property named `$data` that is not declared / defined as a property on the child class. When getting its value, e.g. `$list_table->data`, the `WP_List_Table::__get()` magic method is invoked, the following deprecation notice thrown, and `null` returned:

>The property `data` is not defined. Setting a dynamic (undefined) property is deprecated since version 6.4.0! Instead, define the property on the class.

=== Why not remove the magic methods, remove the `$compat_fields` property, and restore the properties `public`?

tl;dr Backward compatibility.

Several plugins, one of which has over 5M installs, add a property to the `$compat_fields` array. Removing the property would cause an `Undefined property` `Warning` (PHP 8) | `Notice` (PHP 7) to be thrown. Removing the associated code would change the functionality.

=== Why not limit the deprecation for PHP versions >= 8.2?

tl;dr original design intent and inform

The magic methods and `$compat_fields` property were added for one purpose: to continue providing external access to internal properties declared on `WP_List_Table`. They were not intended to be used for dynamic properties.

Deprecating that unintended usage both alerts developers a change is needed in their child class and informs them what to change.

References: 
* Dynamic (non-explicitly declared) properties are deprecated as of PHP 8.2 and are expected to become a fatal error in PHP 9.0.
* A [https://www.youtube.com/live/vDZWepDQQVE?feature=share&t=10097 live open public working session] where these changes were discussed and agreed to.
* [https://wiki.php.net/rfc/deprecate_dynamic_properties PHP RFC: Deprecate dynamic properties.]

Related to #14579, #22234, #30891.

Follow-up to [15491], [28493], [28521], [28524], [31146].

Props antonvlasenko, jrf, markjaquith, hellofromTonya, SergeyBiryukov, desrosj, peterwilsoncc, audrasjb, costdev, oglekler, jeffpaul.
Fixes #58896.
See #56034.
Built from https://develop.svn.wordpress.org/trunk@56349


git-svn-id: http://core.svn.wordpress.org/trunk@55861 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-02 18:37:21 +00:00
hellofromTonya
d0e63ca7d2 Tests: Fix leakage in WP_List_Table tests.
Fixes `WP_List_table` tests leaking into other tests by:

* Restores the original `$hook_suffix` global value.
Rather than modifying the global for all tests, it now restores the original value between tests. Why? To ensure each test starts at a known state.

* Uses a new instance of `WP_List_Table` for each test.
A test may modify the `$list_table` object. If it does, it could impact tests yet to run. By instantiating a new instance in the `set_up()` test fixture, each test is isolated from the others.

Follow-up to [53868], [54215].

Props hellofromTonya, antonvlasenko.
See #58955, #58896.
Built from https://develop.svn.wordpress.org/trunk@56348


git-svn-id: http://core.svn.wordpress.org/trunk@55860 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-02 18:00:22 +00:00
Felix Arntz
6cd7404aa3 Media: Simplify logic in wp_get_loading_optimization_attributes().
While the `wp_get_loading_optimization_attributes()` function was only recently introduced in 6.3, its code was mostly ported over from the now deprecated `wp_get_loading_attr_default()` function introduced in 5.5.

That function started out in a simple way, but over time was expanded with more and more conditionals on when to avoid lazy-loading, which ended up making the logic extremely complex and hard to follow.

This changeset refactors the logic to simplify it, in a way that allows to follow it more sequentially, and without making any functional changes, ensuring that the extensive existing unit test coverage still passes. This will facilitate future enhancements to the function to be less error-prone and make it more accessible to new contributors.

Props flixos90, joemcgill.
Fixes #58891.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55859 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-02 17:58:26 +00:00
Sergey Biryukov
9dc13e98d7 Site Health: Use PHP_SAPI constant instead of the php_sapi_name() function.
This is a micro-optimization that removes an unnecessary function call.

Follow-up to [44986], [45156].

Props ayeshrajans, jrf, mukesh27, rmccue.
Fixes #58942.
Built from https://develop.svn.wordpress.org/trunk@56346


git-svn-id: http://core.svn.wordpress.org/trunk@55858 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-02 10:59:25 +00:00
Felix Arntz
e80768e045 Themes: Use isset instead of array_key_exists in WP_Theme_JSON class.
With the minimum PHP version requirement raised to 7.0, we can now use `isset` on constants that are arrays. Since `isset` is slightly faster than `array_key_exists` (and the different handling of `null` values is irrelevant for the updates here), remaining instances of `array_key_exists` in the `WP_Theme_JSON` class are replaced in this changeset.

Props soean.
Fixes #57067.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55857 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-01 20:31:25 +00:00
Sergey Biryukov
1364db92bb Upgrade/Install: Pass stored credentials to WP_Filesystem() where appropriate.
With the introduction of temporary backups of plugins and themes before updating, a new Site Health test was added to verify that plugin and theme temporary backup directories are writable or can be created.

When using a non-direct filesystem, the Site Health test did not include the required credentials, leading to a fatal error as the connection was not initialized properly.

This commit attemps to use the stored credentials if available, and displays a message otherwise.

Includes a similar fix in a function that performs a cleanup of the temporary backup directory.

Follow-up to [55720].

Props utsav72640, rajinsharwar, costdev, mukesh27, peterwilsoncc, audrasjb, SergeyBiryukov.
See #58940.
Built from https://develop.svn.wordpress.org/trunk@56341


git-svn-id: http://core.svn.wordpress.org/trunk@55853 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-01 16:07:25 +00:00
ryelle
4a6971f99c Help/About: Add images to About page, match header style to images.
Props richtabor, markoserb, audrasjb, peterwilsoncc, mukesh27.
See #58067.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55851 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-01 15:04:22 +00:00
audrasjb
ed408e3731 Help/About: Escape "Contribute" links, for better consistency.
Props SergeyBiryukov, peterwilsoncc.
See #23348.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55849 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-01 12:58:22 +00:00
audrasjb
41dabe68ee Help/About: Remove target="_blank" from the Contribute link.
Props davidbaumwald.
See #23348.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55847 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-01 12:50:27 +00:00
Sergey Biryukov
7d34c9b149 Coding Standards: Use strict comparison in wp-includes/option.php.
Follow-up to [8784], [25109].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55845 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-01 11:01:28 +00:00
isabel_brison
3e103142ab Editor: second update of npm packages for 6.3 RC3.
Includes bug fixes for footnotes, patterns, command palette, top toolbar and other small regressions.

Props andrewserong, spacedmonkey.
See #58926.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55844 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-01 08:01:54 +00:00
Bernhard Reiter
8fa9aad5e6 HTML API: Add support for SPAN element.
In this patch we're introducing support for the SPAN element, which is the first
in the class of "any other tag" in the "in body" insertion mode.

This patch introduces the mechanisms required to handle that class of tags but
only introduces SPAN to keep the change focused. With the tests and mechanisms
in place it will be possible to follow-up and add another limited set of tags.

It's important that this not use the default catch-all in the switch handling
`step_in_body` because that would catch tags that have specific rules in previous
case statements that aren't yet added. For example, we don't want to treat the
`TABLE` element as "any other tag".

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


git-svn-id: http://core.svn.wordpress.org/trunk@55843 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-01 07:56:23 +00:00
isabel_brison
6359762e66 Editor: fix duplication in templates list.
Excludes parent template when a child template is defined during template retrieval.

Props oandregal, mukesh27, flixos90, bgardner.
See #57756.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55841 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-08-01 02:12:24 +00:00
audrasjb
29d0198455 Help/About: Make Contribute links translatable.
Follow-up to [17877], [26354], [35898], [43032], [56220], [56312].

Props sereedmedia, tobifjellner, oglekler, ryelle, fierevere, davidbaumwald, audrasjb.
See #23348.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55839 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-31 20:23:21 +00:00
Sergey Biryukov
6035d50bab Coding Standards: Use strict comparison in wp-includes/functions.php.
Follow-up to [5999], [6342], [7406], [8369], [10322], [11288], [11332], [11597], [12405], [13569], [14649], [15806], [19773], [26449], [26926], [39831], [40124].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55838 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-31 13:33:24 +00:00
Sergey Biryukov
8aa8b5883a Coding Standards: Use strict comparison in wp-includes/formatting.php.
Follow-up to [1345], [4112], [6974], [24214], [25055], [28831], [32863].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55837 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-30 08:53:25 +00:00
Sergey Biryukov
18ca91327a Coding Standards: Use strict comparison in wp-includes/feed-atom-comments.php.
Follow-up to [9818].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55836 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-29 00:31:35 +00:00
Weston Ruter
ee1baf955c Script Loader: Delay loading comment-reply script with async loading strategy.
Props westonruter, flixos90, joemcgill, sergiomdgomes.
See #12009.
Fixes #58870.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55835 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-28 17:17:24 +00:00
Sergey Biryukov
dcc82c39cc Coding Standards: Use strict comparison in wp-includes/class-wp-roles.php.
Follow-up to [25695], [41625].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55833 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-28 11:37:25 +00:00
isabel_brison
bae8871465 Editor: initial update of npm packages for 6.3 RC3.
Includes bug fixes for patterns, command palette and several minor regressions.

Props ramonopoly.
See #58926.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55832 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-28 07:40:16 +00:00
Sergey Biryukov
29c16a48ec Coding Standards: Use correct case for class name in WP_Http tests.
Follow-up to [8516], [54968].

Props jrf.
See #58831.
Built from https://develop.svn.wordpress.org/trunk@56319


git-svn-id: http://core.svn.wordpress.org/trunk@55831 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-27 14:47:20 +00:00
audrasjb
f510e6e9f4 Editor: Revert [56316].
This reverts [56316] as it needs to be fixed by updating npm packages.

Unprops audrasjb.
Props swissspidy.
See #58920.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55829 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-27 10:10:24 +00:00
audrasjb
82bac32754 Editor: Prevent PHP warning when accessing icon by area.
This changeset prevents an attempt to access an array via a key that doesn't exist.
See https://github.com/WordPress/gutenberg/pull/52961.

Props aaronrobertshaw, glendaviesnz, mukesh27.
Fixes #58920.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55828 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-27 09:18:21 +00:00
audrasjb
c54adf1d22 Bundled Themes: Bump version numbers for WordPress 6.3.
In coordination with the release of 6.3, a new version of each bundled theme will also be released. This bumps the version of each theme to the following:

- Twenty Ten: 3.9
- Twenty Eleven: 4.4
- Twenty Twelve: 4.0
- Twenty Thirteen: 3.9
- Twenty Fourteen: 3.7
- Twenty Fifteen: 3.5
- Twenty Sixteen: 3.0
- Twenty Seventeen: 3.3
- Twenty Nineteen: 2.6
- Twenty Twenty: 2.3
- Twenty Twenty-One: 1.9
- Twenty Twenty-Two: 1.5
- Twenty Twenty-Three: 1.2

Props mukesh27, hareesh-pillai, audrasjb, jakariaistauk, kafleg, sabernhardt, spacedmonkey.
Fixes #57857.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55827 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-26 22:09:22 +00:00
Joe McGill
55a90c82d5 Script Loader: Add support for font-display: optional.
This adds `optional` to the list of valid `font-display` values that can be used when validating webfonts.

Props merel1988, asafm7, mukesh27.
Fixes #58454.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55826 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-26 19:23:21 +00:00
Joe McGill
859cf639a6 Build/Test Tools: Run performance tests using production env vars.
This sets the following environment variables when running automated performance tests to avoid side effects that can skew performance data when the default development environment variables are used:

* `SAVEQUERIES`: `false`
* `SCRIPT_DEBUG`: `false`
* `WP_DEBUG`: `false`
* `WP_DEVELOPMENT_MODE`: `''`

Props rajinsharwar, desrosj, mukesh27, joemcgill.
Fixes #58825.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-26 19:13:23 +00:00
Sergey Biryukov
d50b1048f3 Help/About: Update “Get involved in WordPress” link on the Credits tab.
This commit updates the link URL to send contributors to an orientation tool for a short survey on what team they may be interested in joining. This coincides with the Get Involved tab.

Follow-up to [17877], [26354], [35898], [43032], [56220].

Props courane01, audrasjb.
See #23348.
Built from https://develop.svn.wordpress.org/trunk@56311


git-svn-id: http://core.svn.wordpress.org/trunk@55823 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-26 11:51:25 +00:00
audrasjb
99366f31d2 Help/About: Fix the Get Involved tab on Network Admin.
This changeset adds a `wp-admin/network/contribute.php` file to allow the Get Involved tab to work on Network Admin.

Props courane01, ryelle, audrasjb.
See #23348.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55821 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-25 21:34:27 +00:00
desrosj
1afe1d9f5e Build/Test Tools: Restore automatically retrying failed E2E tests once.
This restores the GitHub Actions job responsible for automatically retrying a failed workflow once within the E2E testing workflow.

[56198] disabled Slack notifications for this workflow because of the increased number of timeout errors occurring after recent changes until they could be further investigated. Even though the signal-to-noise ration was way too high, there’s still benefit in retrying the workflow once to see if the timeout can be resolved without human intervention. The one retry attempt will not result in any Slack notifications.

Follow up to [56198].
See #58779.
Built from https://develop.svn.wordpress.org/trunk@56308


git-svn-id: http://core.svn.wordpress.org/trunk@55820 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-25 18:19:31 +00:00
audrasjb
888e60a012 Editor: Fix conditionals in Template Editing Mode.
Previously, Site Editor client-side routing started using only the path query argument for loading non-editor views. The router removed the `postType` query 
argument, which caused an error message to be displayed when the template parts list page was reloaded.

This changeset fixes the issue as it was affecting hybrid themes.

Props Mamaduka, isabel_brison, ramonopoly.
Fixes #58889.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55814 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-25 14:33:23 +00:00
Sergey Biryukov
80e5ebb0cc Coding Standards: Always declare visibility for class methods.
This adds a missing `public` keyword for `WP_HTML_Tag_Processor::get_attribute_names_with_prefix()`.

Follow-up to [55203].

Props jrf.
See #58831.
Built from https://develop.svn.wordpress.org/trunk@56301


git-svn-id: http://core.svn.wordpress.org/trunk@55813 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-25 13:16:21 +00:00
audrasjb
577b07285e Twenty Twenty-One: Enable Dark Mode in the block editor iframe.
This changeset replaces `add_action( 'enqueue_block_editor_assets' )`, with `add_action( 'enqueue_block_assets' )`, in class `Twenty_Twenty_One_Dark_Mode` and class 
`Twenty_Twenty_One_Custom_Colors`. This fixes an issue when activating dark mode in Twenty Twenty-One, where dark mode was not enabled in the block editor.

Props poena, mikinc860, huzaifaalmesbah, hasanuzzamanshamim, Ankit-K-Gupta.
Fixes #58835.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55812 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-25 12:31:21 +00:00
Bernhard Reiter
1612d711dd HTML API: Change wp infix in test classes to Wp.
In order to comply with the test class naming scheme set forth in #56846, rename the test classes covering the HTML API by changing the `wp` infix to `Wp`.

Props dmsnell, costdev.
Fixes #58899. See #56846.
Built from https://develop.svn.wordpress.org/trunk@56299


git-svn-id: http://core.svn.wordpress.org/trunk@55811 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-25 12:19:27 +00:00
isabel_brison
baf1c9d87a Editor: update npm packages with bug fixes for 6.3 RC2.
Includes miscellaneous bug fixes for 6.3 RC12.

Props ramonopoly, audrasjb, swissspidy, peterwilsoncc, joemcgill.
Fixes #58804.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55810 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-25 08:40:23 +00:00
isabel_brison
119459806f Editor: load title on navigation fallback.
Adds raw title property when loading the navigation fallback with an embed context.

Props ramonopoly, get_dave, scruffian, mukesh27, audrasjb.
Fixes #58557.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55808 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-25 06:30:20 +00:00
ryelle
b88762dd6e Help/About: Updates to About page.
Update the headers, icons, and avatar style to match the designs. Fix the version strings on embedded images. Remove the tagline on main About page. Update "ctrl" to the correct capitalization, "Ctrl".

Follow-up to [56263].
Props richtabor, markoserb, audrasjb, nekojonez.
See #58067.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55804 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-24 23:39:22 +00:00
ryelle
f5730be053 Administration: Update dashboard welcome panel for 6.3.
Update the background image and styles for the Welcome Panel. This iteration does not use different colors on the admin color schemes, so the CSS for that has been removed. This also adds back in a working "Edit styles" link, which was removed in 6.2 because the link was broken.

Props richtabor, markoserb.
Fixes #58545.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55803 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-24 23:15:23 +00:00
ryelle
0d4890d568 Help/About: Add illustrations to the Get Involved tab
Follow-up to [56220], [56227], [56233], [56234], [56259].
Props richtabor, markoserb.
Fixes #23348.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55802 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-24 22:52:21 +00:00
audrasjb
96d3c045bc Editor: Fix abbreviations of "Example" in block-template-utils.php.
This changeset improves the consistency of the use of "e.g." in template descriptions.

Props jordesign, audrasjb, joedolson.
Fixes #58879.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55799 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-24 20:54:24 +00:00
Sergey Biryukov
2eb4c43a4d Coding Standards: Remove trailing tabs in wp-admin/about.php.
This resolves a WPCS warning:
{{{
Found precision alignment of 2 spaces.
}}}

Follow-up to [56263].

Props jrf.
See #58831, #58067.
Built from https://develop.svn.wordpress.org/trunk@56285


git-svn-id: http://core.svn.wordpress.org/trunk@55797 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-24 13:05:26 +00:00
isabel_brison
d6fac66a83 Editor: fix popover positioning.
Pins the floating-ui package versions to avoid breaking changes when they update.

Props ramonopoly, spacedmonkey, bhrugesh12, huzaifaalmesbah, audrasjb, azaozz.
See #58847.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55796 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-24 00:52:23 +00:00
Sergey Biryukov
ffa1d288f3 Coding Standards: Correct alignment in wp-includes/media.php.
This resolves a WPCS warning:
{{{
Found precision alignment of 1 space.
}}}

Follow-up to [55988].

Props jrf.
See #58831.
Built from https://develop.svn.wordpress.org/trunk@56283


git-svn-id: http://core.svn.wordpress.org/trunk@55795 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-23 16:00:26 +00:00
joedolson
a194e4b762 Media: Fix Image rotation button overflow in translations.
Fix CSS to cover the image rotation button action text being longer than the Image Rotation menu toggle. Prevent the button text from overflowing the button. Follow-up to [56239].

Props kebbet.
Fixes #58877.
Built from https://develop.svn.wordpress.org/trunk@56282


git-svn-id: http://core.svn.wordpress.org/trunk@55794 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-22 19:23:25 +00:00
Sergey Biryukov
88ae6ae84f Coding Standards: Always use parentheses for class instantiation.
This addresses a `new stdClass()` instance in `_get_non_cached_ids()` tests.

Follow-up to [55543].

Props jrf.
See #58831.
Built from https://develop.svn.wordpress.org/trunk@56281


git-svn-id: http://core.svn.wordpress.org/trunk@55793 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-22 12:37:24 +00:00
desrosj
bc4dbee940 General: Commit changes after running precommit:css.
The `{min|max}-device-pixel-ratio` syntax as a a non-standard CSS media feature that was used as an alternative to the now standard `resolution`. Prior to Safari 16.0, `-webkit-{min|max}-device-pixel-ratio` was needed to correctly support it.

This change is a result of the `caniuse-lite` update that was applied recently in [56065]. Though there were no changes to target browsers as a result of this update, it seems an upstream change identified these as unnecessary.

See #57856, #58869.
Props desrosj, joemcgill, isabel_brison.
Built from https://develop.svn.wordpress.org/trunk@56279


git-svn-id: http://core.svn.wordpress.org/trunk@55791 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-21 18:06:28 +00:00
joedolson
c619a3d450 Media: Fix height max value in image scaling.
Set the `max` attribute in the height input for image scaling to reference the image height, instead of the width. Follow up to [55919].

Props costdev, joedolson, joemcgill.
Fixes #50523.
Built from https://develop.svn.wordpress.org/trunk@56277


git-svn-id: http://core.svn.wordpress.org/trunk@55789 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-21 14:33:22 +00:00
Sergey Biryukov
55ab72cf12 I18N: Add missing translator comment in WP_Upgrader::generic_strings().
This resolves a WPCS warning:
> A gettext call containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.

Includes moving `wp-content` out of the translatable string in a similar message in `_wp_delete_all_temp_backups()`.

Follow-up to [55720], [56117].

Props jrf.
See #58831.
Built from https://develop.svn.wordpress.org/trunk@56276


git-svn-id: http://core.svn.wordpress.org/trunk@55788 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-21 13:33:27 +00:00
Bernhard Reiter
44629e6286 HTML-API: Introduce minimal HTML Processor.
This patch introduces the //first// of //many// iterations on the evolution of the HTML API, the HTML Processor, which is built in order to understand HTML structure including nesting, misnesting, and complicated semantic rules.

In the first iteration, the HTML Processor is arbitrarily limited to a minimal subset of functionality so that we can review it, ship it, test it, and collect feedback before moving forward. This means that this patch is more or less an extension to the Tag Processor query language, providing the ability not only to scan for a tag of a given name, but also to find an HTML element in a specific nesting path.

The HTML Processor also aborts any time it encounters:
 - a tag that isn't a `P`, `DIV`, `FIGURE`, `FIGCAPTION`, `IMG`, `STRONG`, `B`, `EM`, `I`, `A`, `BIG`, `CODE`, `FONT`, `SMALL`, `STRIKE`, `TT`, or `U` tag. this limit exists because many HTML elements require specific rules and we are trying to limit the number of rules introduced at once. this work is targeted at existing work in places like the image block.
 - certain misnesting constructs that evoke complicated resolution inside the HTML spec. where possible and where simple to do reliably, certain parse errors are handled. in most cases the HTML Processor aborts.

The structure of the HTML Processor is established in this patch. Further spec-compliance comes through filling out //more of the same// kind and nature of code as is found in this patch. Certain critical HTML algorithms are partially supported, and where support requires more than is present, the HTML Processor acknowledges this and refuses to operate.

In this patch are explorations for how to verify that new HTML support is fully added (instead of allowing for partial updates that leave some code paths non-compliant). Performance is hard to measure since support is so limited at the current time, but it should generally follow the performance of the Tag Processor somewhat close as the overhead is minimized as much as practical.

Props dmsnell, zieladam, costdev.
Fixes #58517.
Built from https://develop.svn.wordpress.org/trunk@56274


git-svn-id: http://core.svn.wordpress.org/trunk@55786 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-20 13:43:25 +00:00
Sergey Biryukov
3a065bfb2c Coding Standards: Correct equals sign alignment in various files.
This resolves a few WPCS warnings:
{{{
Equals sign not aligned with surrounding statements
}}}
so that the output of `composer format` is clean.

Follow-up to [55971], [56033], [56056], [56143], [56214].

Props jrf.
See #58831.
Built from https://develop.svn.wordpress.org/trunk@56273


git-svn-id: http://core.svn.wordpress.org/trunk@55785 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-20 00:06:21 +00:00
audrasjb
e992dabb1a Docs: Fix indentation issue in WP_REST_Global_Styles_Revisions_Controller class.
Follow-up to [56082].

See #57840, #58524.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55784 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-19 22:53:23 +00:00
antpb
cc3652efe9 Media: Adjust PDF upload handling to remove non-opaque alpha channels from previews.
Previously, Imagick uploads of PDF files with non-opaque alpha channels would result in a black background replacing alpha in the generated thumbnail. This patch adds a `remove_pdf_alpha_channel()` function in the Imagick classes to use a white background instead.

Props gitlost, joemcgill, joedolson, launchinteractive, emirpprime, mwtsn, ceer, maysi, madejackson, 6adminit, costdev, oglekler.
Fixes #39216.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55783 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-19 22:35:27 +00:00
Sergey Biryukov
c0f28e113c Docs: Add a missing word in maybe_create_table() description.
Follow-up to [31246].

Props crstauf, james0r.
Fixes #58841.
Built from https://develop.svn.wordpress.org/trunk@56270


git-svn-id: http://core.svn.wordpress.org/trunk@55782 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-19 11:33:26 +00:00
audrasjb
b5ec731578 REST API: Update Global styles revisions private methods to protected.
This changeset updates the private vars and methods in the Global styles revisions rest API controller to be protected, so class entities that inherit 
from the base can use them, and to allow iterating on 6.3 features without having to copy over private methods to new classes.

Props ramonopoly.
Fixes #58846.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55780 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-19 07:49:24 +00:00
Mike Schroder
20004c5f36 Trunk is now 6.4 alpha.
Built from https://develop.svn.wordpress.org/trunk@56267


git-svn-id: http://core.svn.wordpress.org/trunk@55779 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-19 05:54:26 +00:00
davidbaumwald
b8438bdcbb Post WordPress 6.3 RC1 version bump.
Built from https://develop.svn.wordpress.org/trunk@56265


git-svn-id: http://core.svn.wordpress.org/trunk@55777 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-18 17:04:21 +00:00
davidbaumwald
f1007f6846 WordPress 6.3 RC1.
Built from https://develop.svn.wordpress.org/trunk@56264


git-svn-id: http://core.svn.wordpress.org/trunk@55776 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-18 16:46:24 +00:00
ryelle
5402a24ad0 Help/About: Update the About page for 6.3.
This is the start of the WordPress 6.3 about page, introducing new content and a first pass of the new style.

Props jpantani, dansoschin, annezazu, priethor, marybaum, eidolonnight, clarkeemily, flixos90, cbringmann, meher, richtabor, markoserb, joen, saxonafletcher, jameskoster, davidbaumwald, peterwilsoncc, ryelle.
See #58067.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55775 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-18 16:20:22 +00:00
Bernhard Reiter
2380861f72 Editor: Add test for context setting in Comment Template block.
Test that `commentId` context is correctly set and made available by the Comment Template block to the `render_block_context` filter (at priority 2 and higher), and to the `render_block` filter (important when programmatically inserting child blocks into the Comment Template block).

Furthermore, test that child blocks inserted via the `render_block_data` filter are retained and thus present at `render_block` filter stage.

Props andrewserong, ramonopoly, peterwilsoncc, costdev, mukesh27, flixos90.
Fixes #58839.
Built from https://develop.svn.wordpress.org/trunk@56262


git-svn-id: http://core.svn.wordpress.org/trunk@55774 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-18 16:09:22 +00:00
Sergey Biryukov
45cf0edf28 Administration: Add a missing closing </span> tag for column sorting indicators.
Includes wrapping a few other long markup lines for better readability.

Follow-up to [55971], [56004], [56260].

See #32170, #57839.
Built from https://develop.svn.wordpress.org/trunk@56261


git-svn-id: http://core.svn.wordpress.org/trunk@55773 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-18 14:09:21 +00:00
Sergey Biryukov
c0adc40452 Coding Standards: Use strict comparison for static strings in wp-admin/includes/class-wp-list-table.php.
Follow-up to [55971], [56004].

See #32170, #57839.
Built from https://develop.svn.wordpress.org/trunk@56260


git-svn-id: http://core.svn.wordpress.org/trunk@55772 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-18 14:05:29 +00:00
audrasjb
944c46e091 Help/About: String changes in the Contribute screen.
Follow-up to [56220], [56227], [56233], [56234].

Props costdev.
See #23348.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55771 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-18 10:47:28 +00:00
spacedmonkey
e0eaffdd3c Upgrade/Install: Add correct parameters to add_option in upgrade_630
Introduced in [55854], `upgrade_630` function was introduced to update `can_compress_scripts` option to autoload. However the function `add_option` was invoked incorrectly, passing 3 parameters and not 4. The third parameter, which is deprecated, triggers a  deprecated argument warning. In this change, pass 4 parameters instead of 3. 

Props gudmdharalds, spacedmonkey, costdev, mukesh27.
Fixes #58821.
Built from https://develop.svn.wordpress.org/trunk@56258


git-svn-id: http://core.svn.wordpress.org/trunk@55770 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-18 10:09:29 +00:00
audrasjb
26395d827e Docs: Various docblocks corrections.
See #57840.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55769 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-18 07:37:21 +00:00
audrasjb
114ab18d18 Docs: Fix various incorrect @since mentions.
Props costdev, mukesh27.
Fixes #58834.
See #57840.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55768 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-18 07:30:23 +00:00
isabel_brison
780ddef241 Editor: update npm packages with second round of bug fixes for 6.3 RC1.
Includes miscellaneous bug fixes for 6.3 RC1.

Props ramonopoly, mukesh27.
Fixes #58804.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55767 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-18 07:20:48 +00:00
Felix Arntz
75f25fd334 Editor: Fix bug where it was not possible to style custom block elements in theme.json.
This changeset resolves a bug where WordPress would only allow HTML elements within core's own blocks to be styled in `theme.json`. Prior to this change, any `theme.json` rules applying to elements in custom blocks were ignored. With this fix it is now possible to style third-party block elements in `theme.json`.

Props flixos90, azaozz, costdev, glendaviesnz, spacedmonkey, oandregal.
Fixes #57868.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55766 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-18 00:02:22 +00:00
audrasjb
dce6425913 Twenty Twenty-Three: Revert [55898].
This changeset reverts [55898] which removed redundant `px` units in a few inline styles, because 1) The values in the block comment and the style 
attribute needs to match ; 2) The block control does not accept unitless values.

Follow-up to [54312], [54629], [55898].

Props TobiasBg, poena, oglekler.
See #58485.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55765 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-17 22:26:22 +00:00
audrasjb
5b3bd2c704 External Libraries: Update deprecated jQuery code in Farbtastic lib.
This changeset updates some deprecated jQuery code in the Farbtastic external library. As this vendor script is not maintained anymore, this changeset 
also adds a docblock to specify that the library has been "adopted" by WP Core.

Props Malae, sabernhardt, SergeyBiryukov, Presskopp, mrinal013, peterwilsoncc, oglekler, jorbin.
Fixes #57946.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55764 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-17 22:03:26 +00:00
Andrew Ozz
b48154ae63 Twenty Twenty-Three: Remove the perPage attribute where the query inherits from the global query. The global attribute should be used instead.
Props: mikachan, onemaggie.
Fixes: #58581.
Built from https://develop.svn.wordpress.org/trunk@56251


git-svn-id: http://core.svn.wordpress.org/trunk@55763 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-17 21:34:25 +00:00
Andrew Ozz
427f0159cc Media: Stop using and deprecate set_imagick_time_limit(). Seems it causes more problems than it solves.
Follow-up to #52569 and [55404].

Props: dsar, antpb, audrasjb, SergeyBiryukov, hberberoglu, mtxz, densityapps, ekazda, matt_fw, soulseekah, mikeschroder, azaozz.

Fixes: #58202.
Built from https://develop.svn.wordpress.org/trunk@56250


git-svn-id: http://core.svn.wordpress.org/trunk@55762 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-17 20:04:24 +00:00
Joe McGill
018821ff9a General: Rename wp_in_development_mode() to wp_is_development_mode().
This changes the function name for the helper function to check whether the current environment is running with the `WP_DEVELOPMENT_MODE` constant set to be more consistent with similar functions in core, like `wp_is_maintenance_mode()` and `wp_is_recover_mode()`.

Props flixos90, swissspidy, costdev, peterwilson, robinwpdeveloper, SergeyBiryukov, joemcgill.
See 57487.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55761 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-17 14:50:21 +00:00
audrasjb
6ba79df9c4 Editor: Fix a PHP notice appearing when adding a new template part.
This changeset fixes a PHP notice appearing when a template part is created in the site editor. It also adds a unit test case to cover 
`WP_REST_Templates_Controller::prepare_item_for_database`.

Props wildworks, dunhakdis, Rahmohn, oglekler, audrasjb, mukesh27, costdev, dunhakdis.
Fixes #57851.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55760 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-17 14:22:24 +00:00
K. Adam White
6443800aa6 Build Tools: Remove outmoded jsvalidate task from Gruntfile.
grunt-jsvalidate was added to catch situations where minification introduced parsing errors in Internet Explorer.
IE is no longer supported by WordPress, and the grunt task itself has not been maintained for a decade.
Removing this task simplifies the build and avoids false-positive warnings where the outdated tool flags modern JS syntax incorrectly.

Props westonruter, joemcgill, jorbin, youknowriad, desrosj, swissspidy.
Fixes #58645. See #26615.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-17 14:07:33 +00:00
Joe McGill
e1b050cb9b Script Loader: Improve test coverage for wp_print_scripts().
This is a follow-up to [56092], which further improves PHPUnit test coverage and inline docs for ensuring `async` and `defer` attributes are being properly handled for scripts that are printed without being enqueued.

Props peterwilsoncc, azaozz, westonruter, joemcgill.
See #58648.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55758 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-17 14:05:29 +00:00
Sergey Biryukov
59f1c9c205 Code Modernization: Use str_contains() in a few more places.
`str_contains()` was introduced in PHP 8.0 to perform a case-sensitive check indicating if the string to search in (haystack) contains the given substring (needle).

WordPress core includes a polyfill for `str_contains()` on PHP < 8.0 as of WordPress 5.9.

This commit replaces `false !== strpos( ... )` with `str_contains()` in core files, making the code more readable and consistent, as well as better aligned with modern development practices.

Follow-up to [55988], [55990], [56014], [56021], [56031], [56032], [56065], [56241].

See #58206.
Built from https://develop.svn.wordpress.org/trunk@56245


git-svn-id: http://core.svn.wordpress.org/trunk@55757 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-17 13:18:27 +00:00
isabel_brison
54f218ae18 Editor: trim footnote anchors from post excerpts.
Adds the `excerpt_remove_footnotes` function to trim footnote anchors from post excerpts.

Props: ramonopoly, costdev, mukesh27, mcsf, azaozz.
Fixes #58805.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55756 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-17 01:47:26 +00:00
joedolson
aa7c98232f Help/About: Fix closing contextual help when scrolled.
Change from `scrollIntoView` to `scrollIntoViewIfNeeded` so scrolling will only fire when it is required. `scrollIntoViewIfNeeded` is a proprietary method that is not standardized and not currently on a track towards standards. However, testing has it working well, including in Firefox, which supposedly does not support it.

Props mikecho, studionashvegas, mai21, piotrek, Heiko_Mamerow, costdev, joedolson.
Fixes #55342.
Built from https://develop.svn.wordpress.org/trunk@56243


git-svn-id: http://core.svn.wordpress.org/trunk@55755 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-16 16:45:22 +00:00
joedolson
7a703a1b0f Media: Fix admin image editor layout at intermediary widths.
Follow up to [56189], which resolved the initial problem but created new problems with control proximity on wide monitors. Change admin image editor panels to use flex so panels only occupy the space needed.

Props joedolson, sabernhardt, mikinc860.
Fixes #58692.
Built from https://develop.svn.wordpress.org/trunk@56242


git-svn-id: http://core.svn.wordpress.org/trunk@55754 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-16 15:59:22 +00:00
Sergey Biryukov
ff5ec02b0c Bootstrap/Load: Require wp-includes/compat.php in src/index.php.
This allows for using polyfill functions if `src/index.php` is the entry point (this file exists as a reminder to build the assets, and is different from the actual `index.php` file that gets built and boots WordPress).

Includes:
* Moving the check for the required PHP and MySQL versions earlier.
* Making the load order consistent between `src/index.php`, `wp-load.php`, and `wp-settings.php`.

Follow-up to [46183], [56006], [56007].

Props westonruter, Presskopp, joemcgill, SergeyBiryukov.
See #58206.
Built from https://develop.svn.wordpress.org/trunk@56241


git-svn-id: http://core.svn.wordpress.org/trunk@55753 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-16 12:16:24 +00:00
joedolson
85b1f84c22 Revert package-lock.json changes committed by mistake in [56239]
Props joedolson.
See #58756.
Built from https://develop.svn.wordpress.org/trunk@56240


git-svn-id: http://core.svn.wordpress.org/trunk@55752 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-15 21:52:23 +00:00
joedolson
05ed63a728 Media: Improve layout of image rotation options panel.
Add visual affordance to expanded/collapsed states and move panel under the control rather than placing it next to the toggle, to prevent overflow with the save menu.

Props nithi22, deepakvijayan, antpb, joedolson.
Fixes #58756.
Built from https://develop.svn.wordpress.org/trunk@56239


git-svn-id: http://core.svn.wordpress.org/trunk@55751 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-15 21:42:26 +00:00
Sergey Biryukov
e21be237f1 Coding Standards: Use strict comparison in wp-includes/load.php.
Includes minor code layout fixes for better readability.

Follow-up to [6058], [6208], [10217], [12732], [37677].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55750 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-15 09:04:27 +00:00
Andrew Ozz
337cabcd32 Help/About: Fix typo in [56171]: support forum "topic", not "ticket".
Props: tobifjellner.
Fixes: #58199.
Built from https://develop.svn.wordpress.org/trunk@56237


git-svn-id: http://core.svn.wordpress.org/trunk@55749 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-14 22:11:22 +00:00
Andrew Ozz
fe0920e0a3 Menus: Fix critical errors when the page_on_front and/or page_for_posts options contain references to non-existing posts.
props: hbhalodia, wplindavantol, josklever, audrasjb.
Fixes: #58345.
Built from https://develop.svn.wordpress.org/trunk@56236


git-svn-id: http://core.svn.wordpress.org/trunk@55748 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-14 21:47:22 +00:00
Andrew Ozz
94b1479a49 Editir: Fix open_basedir warnings on the classic Edit Post screen when additional TinyMCE plugins are used.
Props: rembem, MadtownLems, njsamsatli, sabernhardt, azaozz.
Fixes: #54354.
Built from https://develop.svn.wordpress.org/trunk@56235


git-svn-id: http://core.svn.wordpress.org/trunk@55747 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-14 20:59:26 +00:00
Sergey Biryukov
c66ed1c6e9 Help/About: Adjust horizontal padding on the tabs under 960 pixels width.
This ensures that the About / Credits / Freedoms / Privacy / Get Involved tabs menu does not expand beyond the container when the side admin menu is expanded.

Follow-up to [56220], [56227], [56233].

Props costdev, mukesh27.
See #23348.
Built from https://develop.svn.wordpress.org/trunk@56234


git-svn-id: http://core.svn.wordpress.org/trunk@55746 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-14 15:42:27 +00:00
Sergey Biryukov
51af5fc4a5 Help/About: Update “Get Involved” tab content with the latest edits.
Follow-up to [56220], [56227].

Props oglekler, richtabor, SeReedMedia, eidolonnight, davidbaumwald, ibrahimmonir, ugyensupport, alexstine, suzettefranck.
See #23348.
Built from https://develop.svn.wordpress.org/trunk@56233


git-svn-id: http://core.svn.wordpress.org/trunk@55745 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-14 15:34:25 +00:00
Sergey Biryukov
4ae5fb0bae Docs: Use consistent wording for development mode.
Follow-up to [56042], [56223], [56231].

See #57487, #57840.
Built from https://develop.svn.wordpress.org/trunk@56232


git-svn-id: http://core.svn.wordpress.org/trunk@55744 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-14 14:15:23 +00:00
Sergey Biryukov
f82f8a7a98 Docs: Clarify where the wp_get_development_mode() value is retrieved from.
Includes:
* Adding a mention of the `WP_DEVELOPMENT_MODE` constant.
* Minor DocBlock formatting adjustments.

Follow-up to [56042], [56223].

See #57487, #57840.
Built from https://develop.svn.wordpress.org/trunk@56231


git-svn-id: http://core.svn.wordpress.org/trunk@55743 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-14 14:10:26 +00:00
isabel_brison
fc6f16bd57 Editor: fix typos in templates info.
Fixes two small typos in `wp-includes/block-template-utils.php`.

Props SergeyBiryukov.
Fixes #58713.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55742 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-14 05:18:22 +00:00
isabel_brison
f29e4144fa Editor: update npm packages with first round of bug fixes for 6.3 RC1.
Includes miscellaneous bug fixes for 6.3 RC1.

Props ramonopoly.
See #58804.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55741 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-14 04:33:18 +00:00
joedolson
61c7af563a Media: Set default state for image rotation button.
Adds `aria-expanded="false"` as default state for image rotation toggle in admin image editor. See #50523.

Props joedolson.
Fixes #58800.
Built from https://develop.svn.wordpress.org/trunk@56228


git-svn-id: http://core.svn.wordpress.org/trunk@55740 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-13 16:42:27 +00:00
Sergey Biryukov
039053d08a Tests: Add tests to ensure the contribute Toolbar node is added when appropriate.
Follow-up to [56220].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55739 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-13 12:41:24 +00:00
spacedmonkey
748bb7d73a Editor: Lazily load Duotone settings only when needed.
Introduced in [56101] the `WP_Duotone` class, hooks into the `wp_loaded` action to load duotone style data from global styles. Hooking in early in the bootstrap process caused a number of problems. This hook, triggered an error on installing, as this lookup for global styles, would result in a global post trying to be created, even before the table existed. Additionally, this implementation caused a severe performance regression, as duotone styling data was loaded unnecessarily for requests that did not require such data, such as REST API calls or actions within the wp-admin interface.

In this change, refactor the `WP_Duotone` to lazily load the global styles and theme.json data, only when a block that supports duotone is encountered. The method `render_duotone_support` was change to take a third parameter to reuse the existing `WP_Block_Type` object passed to the filter, to save it being looked up again. The code has also got improved type checking and the use of the util function  `block_has_support`. Furthermore, the code's readability has been improved, along with enhancements to the documentation blocks.

Props Chouby, spacedmonkey, SergeyBiryukov, swissspidy, costdev, joemcgill, flixos90, mukesh27, nazmul111, ajlende, isabel_brison.
Fixes #58673.
Built from https://develop.svn.wordpress.org/trunk@56226


git-svn-id: http://core.svn.wordpress.org/trunk@55738 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-13 11:34:28 +00:00
isabel_brison
059ce00442 Editor: fix duotone filters in classic themes.
Makes sure duotone block styles are output in the front end on classic themes.

Props ajlende, jeryj, spacedmonkey, vivekawsm, sabernhardt, costdev, mrinal013.
Fixes #58734.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-13 04:16:26 +00:00
Peter Wilson
1211214fd8 General: Update Opera browser sniff follow UA string changes.
Since switching to the Blink engine, Opera browsers contain both the strings `Chrome` and `OPR\`. This change relocates the Opera test to take place before the Chrome test to ensure the correct browser is detected.

Props brasofilo, desrosj, costdev, mukesh27, swissspidy.
Fixes #46132.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55736 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-13 00:58:25 +00:00
Peter Wilson
94f92497ce General: Introduce all development mode.
Introduce the development mode `all` as a a cover-all mode for the existing `theme`, `plugin` and `core` development modes. Developers can use the `all` mode if they are developing both themes and plugins, for example.

Introduce the utility function `wp_in_development_mode()` allowing developers to detect the mode via a parameter. If the development mode is set to `all` this function will always return `true`. If the development mode is specific then only the chosen mode will return `true`.

Follow up to [56079,56042].

Props flixos90.
Fixes #57487.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55735 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-13 00:29:26 +00:00
Sergey Biryukov
724d2c9950 Coding Standards: Use single quotes for a string in Tests_Comment.
This resolves a WPCS error:
{{{
Error: String "1" does not require double quotes; use single quotes instead.
}}}

Includes updating a few related comments for clarity.

Follow-up to [56221].

See #57855.
Built from https://develop.svn.wordpress.org/trunk@56222


git-svn-id: http://core.svn.wordpress.org/trunk@55734 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-12 21:01:28 +00:00
Aaron Jorbin
1c2ddd6b52 Tests: Use assertSame() in Tests_Comment
See #57855.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55733 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-12 20:06:25 +00:00
Sergey Biryukov
300e0cd38f Help/About: Add a “Get Involved” tab to the About page.
This aims to make all the various ways of contributing to open-source WordPress project more discoverable, as well as make it easier to find an area that aligns with new contributor’s skills and interests.

Props oglekler, jpantani, SeReedMedia, ryelle, marybaum, karmatosed, eidolonnight, mt_suzette, Shelob9, desrosj, cathibosco1, jenmylo, nacin, helen, joostdevalk, hugobaeta, TacoVerdo, swissspidy, markoheijnen, lukecavanagh, boemedia, bridgetwillard, jeffmora, davidmusnik, mehdi01, johnbillion, fierevere, tobifjellner, richtabor, meher, courane01, webcommsat, audrasjb, mukesh27, davidbaumwald, costdev, joedolson, robinwpdeveloper, estelaris, mohiuddinomran, SergeyBiryukov.
See #23348.
Built from https://develop.svn.wordpress.org/trunk@56220


git-svn-id: http://core.svn.wordpress.org/trunk@55732 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-12 12:54:24 +00:00
Sergey Biryukov
05f19b1ed7 Coding Standards: Use strict comparison in wp-includes/class-wp-network.php.
Follow-up to [41380], [41861], [45910].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55731 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-12 09:46:25 +00:00
Peter Wilson
fd1dfbc113 General: Escape nonce used for block theme activation.
Add `wp_json_encode()` as an escaping function when setting the `WP_BLOCK_THEME_ACTIVATE_NONCE` global on the block theme preview screen.

This account for custom nonce implementations making use of special characters that require escaping in JavaScript strings.

Props antonvlasenko, ramonopoly.
Fixes #58712.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55730 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-12 05:21:23 +00:00
isabel_brison
4e70f57a0b Editor: fix since annotation in rest blocks controller class.
Changes `6.3` to `6.3.0` in the since annotation for the `filter_response_by_context` function.

Props swissspidy, peterwilsoncc, mukesh27.
Fixes #58677.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55729 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-12 04:27:27 +00:00
Sergey Biryukov
d097367dbb Post WordPress 6.3 Beta 4 version bump.
Built from https://develop.svn.wordpress.org/trunk@56216


git-svn-id: http://core.svn.wordpress.org/trunk@55728 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 16:38:23 +00:00
Sergey Biryukov
19470b5702 WordPress 6.3 Beta 4.
Built from https://develop.svn.wordpress.org/trunk@56215


git-svn-id: http://core.svn.wordpress.org/trunk@55727 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 16:13:26 +00:00
Joe McGill
725f39d73f Media: Optimize images created in shortcodes.
This fixes an issue where images dynamically created during shortcode rendering (e.g., shortcode image galleries), were not getting image optimizations like `loading="lazy"` or `fetchpriority="hight"` applied. Note that even after this commit, shortcodes are processed after the main content images, which can affect the order in which optimizations are applied in content areas.

Follow-up to [56037].

Props spacedmonkey, flixos90, thekt12, swissspidy, joemcgill.
Fixes #58681.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55726 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 13:58:21 +00:00
Joe McGill
80b6b290b4 Revert package-lock.json changes committed by mistake in [56212].
Props spacedmonkey, swissspidy.
See #58775.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55725 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 13:56:23 +00:00
Joe McGill
019e35a670 Build/Test Tools: Reset main query object after each test.
This resets the main query variable, `$wp_the_query` during the `WP_UnitTestCase_Base::tear_down` method that runs after each PHPUnit test. This ensures any changes to the main query object is reset after each test to avoid cross contamination between tests, similar to how other globals are reset.

Props flixos90, spacedmonkey, joemcgill.
Fixes #58776.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55724 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 13:33:22 +00:00
audrasjb
897d9c221e I18n: Improve the use of dashicons-external icon for external links.
This changeset modifies how the `dashicons-external` icon is used in external links by editing its styles and adding a space between the text and the icon 
for better accessibility.

Props SergeyBiryukov, afercia, isabel_brison, mukesh27, sabernhardt, oglekler, audrasjb.
Fixes #47303.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55723 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 12:59:25 +00:00
Sergey Biryukov
3eec0065e3 Coding Standards: Use strict comparison in wp-includes/class-wp-rewrite.php.
Follow-up to [3638], [13689], [19743].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55722 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 11:35:23 +00:00
Mike Schroder
6fc3060a4e Toolbar: Make the 'Edit site' link open the editor with the current template.
Adds a global, `$_wp_current_template_id`, to allow the 'Edit site' link in the admin bar to be aware of the current template and pass it to the Site Editor, so it can load the appropriate one directly.

See https://github.com/WordPress/gutenberg/issues/37850 for further discussion.

Props Mamaduka, poena, abitofmind, audrasjb, mikinc860, alexstine, annezazu, beckej, jameskoster, bacoords, clubkert, paaljoachim, get_dave, priethor, skorasaurus.
Fixes #58746.
Built from https://develop.svn.wordpress.org/trunk@56209


git-svn-id: http://core.svn.wordpress.org/trunk@55721 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 11:33:27 +00:00
Sergey Biryukov
59a793ac9d Coding Standards: Use strict comparison in wp-includes/rewrite.php.
Follow-up to [6614], [13689], [19743].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55720 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 11:15:27 +00:00
isabel_brison
6af968ab6d Bundled Theme: fix height of featured images in Twenty Twenty Three.
Fixes max height of the featured images in the Archive, Home, Index, and Search templates to prevent expanding iframe bug.

Props mikachan, ramonopoly.
Fixes #58766.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55719 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 07:24:21 +00:00
isabel_brison
0153375f40 Editor: remove one preloaded navigation endpoint.
Removes one of the preloaded navigation endpoints from the site editor as it is not in use anymore.

Props scruffian.
Fixes #58749.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55718 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 07:17:23 +00:00
isabel_brison
9f33966e4e Editor: update npm packages with bug fixes and blessed tasks.
Includes miscellaneous bug fixes and enhancements to the Library task (#58579).

Props andrewserong, ramonopoly.
Fixes #58745.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55717 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 06:59:09 +00:00
audrasjb
e30391f2bd Docs: Fix incorrect type for $crop param is various WP_Image_Editor classes and methods.
This changeset updates the `$crop` docblock type in various `WP_Image_Editor`, `WP_Image_Editor_GD` and `WP_Image_Editor_Imagick` functions, to match the 
type documented in `image_resize_dimensions()`.

Props thunderdw.
Fixes #58271.
See #57840.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55716 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 06:31:22 +00:00
audrasjb
36669b4f85 I18n: Move translator comments inside sprintf for tagline field description.
Props costdev.
Fixes #57675.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55715 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 05:55:20 +00:00
isabel_brison
b9dadf31a1 Editor: opt out of Navigation fallback.
Allows developers to opt out of the auto-creation of the Navigation fallback through a filter.

Props get_dave, spacedmonkey, ramonopoly.
Fixes #58750.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55714 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 05:41:23 +00:00
isabel_brison
bf41190659 General: fix botched file move in r56199.
Moves `src/wp-admin/includes/theme-previews.php` to `src/wp-includes/theme-previews.php`.

Props peterwilsoncc.
See #58712.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55713 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 05:19:23 +00:00
isabel_brison
2997b17eb7 Editor: update string incorrectly marked for translation in Chrome.
Update the Pattern post type `edit_item` label to be `Edit Block Pattern` instead of `Edit Pattern` so Chrome doesn’t open the translation modal.

Props andrewserong,, ramonopoly, eric.7186, audrasjb, wildworks, Toro_Unit.
Fixes #58716.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55712 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 05:10:23 +00:00
isabel_brison
1ee477dbe4 General: add nonce for block theme preview activation.
Adds a nonce so that activation works for block theme previews. Temporary fix until there is a REST API endpoint for activating themes.

Props scruffian, peterwilsoncc, nithins53, nithi22, jomonthomaslobo1, poena, syamraj24, vivekawsm, mrinal013.
Fixes #58712.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55711 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 05:03:23 +00:00
Peter Wilson
304154d8fd Build/Test Tools: Suppress E2E test suite Slack notifications.
Remove Slack notifications of E2E test suite failures while the tests are flakey to improve the signal-to-noise ratio.

Fixes #58779.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55710 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 04:10:23 +00:00
Peter Wilson
2f8c204584 Build/Test Tools: Prevent 404 errors in the E2E tests.
Modifies the cache control headers tests to prevent 404 errors for each of the tests.

Props costdev.
Fixes #58777.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55709 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-11 03:41:27 +00:00
audrasjb
8c6e54b2f7 Docs: Replace multiple single line comments with multi-line comments.
This changeset updates various comments as per WordPress PHP Inline Documentation Standards.
See https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/#5-inline-comments.

Follow-up to [56174], [56175], [56176], [56177], [56178], [56179], [56180], [56191], [56192], [56193], [56194], [56195].

Props costdev, audrasjb.
See #58459.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55708 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-10 23:21:22 +00:00
audrasjb
58ebfc61f1 Docs: Replace multiple single line comments with multi-line comments.
This changeset updates various comments as per WordPress PHP Inline Documentation Standards.
See https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/#5-inline-comments.

Follow-up to [56174], [56175], [56176], [56177], [56178], [56179], [56180], [56191], [56192], [56193], [56194].

Props costdev, audrasjb.
See #58459.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55707 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-10 23:19:23 +00:00
audrasjb
b89f155a10 Docs: Replace multiple single line comments with multi-line comments.
This changeset updates various comments as per WordPress PHP Inline Documentation Standards.
See https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/#5-inline-comments.

Follow-up to [56174], [56175], [56176], [56177], [56178], [56179], [56180], [56191], [56192], [56193].

Props costdev, audrasjb.
See #58459.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55706 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-10 23:11:22 +00:00
audrasjb
55b31a92be Docs: Replace multiple single line comments with multi-line comments.
This changeset updates various comments as per WordPress PHP Inline Documentation Standards.
See https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/#5-inline-comments.

Follow-up to [56174], [56175], [56176], [56177], [56178], [56179], [56180], [56191], [56192].

Props costdev, audrasjb.
See #58459.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55705 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-10 23:00:22 +00:00
audrasjb
6263f22b10 Docs: Replace multiple single line comments with multi-line comments.
This changeset updates various comments as per WordPress PHP Inline Documentation Standards.
See https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/#5-inline-comments.

Follow-up to [56174], [56175], [56176], [56177], [56178], [56179], [56180], [56191].

Props costdev, audrasjb.
See #58459.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55704 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-10 22:48:22 +00:00
audrasjb
321158f726 Docs: Replace multiple single line comments with multi-line comments.
This changeset updates various comments as per WordPress PHP Inline Documentation Standards.
See https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/#5-inline-comments.

Follow-up to [56174], [56175], [56176], [56177], [56178], [56179], [56180].

Props costdev, audrasjb.
See #58459.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55703 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-10 22:38:25 +00:00
audrasjb
cc24b1f950 Twenty Twenty-Three: Add a border to Quote block.
This changeset adds a border to the Quote block on front-end, in order to be consistent with the Editor styles.

Props nidhidhandhukiya, poena, akrocks, sabernhardt, nithins53, zoonini.
Fixes #57506.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55702 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-10 22:20:22 +00:00
joedolson
3648049e48 Media: Fix responsive views in image editor
Adjust breakpoints for mid-range responsive views to prevent the save panel from overflowing other sections.

Props wildworks, mikinc860, mukesh27, sabernhardt, dhrumilk.
Fixes #58692.
Built from https://develop.svn.wordpress.org/trunk@56189


git-svn-id: http://core.svn.wordpress.org/trunk@55701 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-10 22:11:24 +00:00
audrasjb
9240a9350d Twenty Seventeen: Use wp_register_script() to register HTML5 Shiv script.
This replaces `wp_register_style()` with `wp_register_script()`.

Props sabernhardt.
Fixes #56699.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55700 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-10 22:04:24 +00:00
joedolson
402ce56400 Editor: Fix layout of no-js state in site editor.
Remove padding and adjust classes to match current state of editor.

Props afercia, andraganescu, poena.
Fixes #56228.
Built from https://develop.svn.wordpress.org/trunk@56187


git-svn-id: http://core.svn.wordpress.org/trunk@55699 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-10 21:22:21 +00:00
Andrew Ozz
c319239bc3 Filesystem API: Ensure wp_tempnam() does not produce file names longer than 255 characters as this is the limit on most filesystems.
Props: costdev, doems, mikeschroder, oglekler, mrinal013.
Fixes: #35755.
Built from https://develop.svn.wordpress.org/trunk@56186


git-svn-id: http://core.svn.wordpress.org/trunk@55698 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-10 20:33:23 +00:00
spacedmonkey
7174e4e871 Themes: Improved caching in wp_theme_has_theme_json().
Improve logic in `wp_theme_has_theme_json()` to improve caching soo it takes into account that a theme can be switched. Before this function would overly cache if the current theme has a theme.json file. Now it use the value of `get_stylesheet()` as a key to an array. This way, if the value of stylesheet is changed, by either a filter or in a unit test, a new check to see if the file exists is run. For this reason, the workaround to check if unit tests are running by checking if  `WP_RUN_CORE_TESTS` constant exists can be removed.

Props westonruter, spacedmonkey, flixos90.
Fixes #58758.
Built from https://develop.svn.wordpress.org/trunk@56185


git-svn-id: http://core.svn.wordpress.org/trunk@55697 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-10 19:17:22 +00:00
Sergey Biryukov
fe75c1b12f Coding Standards: Use strict comparison in wp-includes/class-wp-user.php.
Follow-up to [15919], [21866], [41624].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55696 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-10 12:53:26 +00:00
audrasjb
34dddd1665 Editor: Ensure blocks registered within parent theme are available when child theme is activated.
This changeset fixes both `register_block_script_handle()` and `register_block_style_handle()` functions, allowing for child themes to access and utilise 
blocks defined in parent themes.

Previously these functions could not handle blocks registered in Parent themes. This changeset fixes the issue by determining whether the given asset path 
belongs to either of the template or stylesheet directories (Parent and Child themes respectively) as opposed to just checking using 
`get_theme_file_path('')`.

Props jacknotman, Levdbas, audrasjb, guillaumeturpin, leprincenoir, whaze, isabel_brison.
Fixes #57566.

 --Cette ligne, et les suivantes ci-dessous, seront ignorées--

M    trunk/src/wp-includes/blocks.php

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


git-svn-id: http://core.svn.wordpress.org/trunk@55695 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-10 06:36:29 +00:00
audrasjb
1e83d7d9e9 Editor: Typo correction in Author block template description.
Follow-up to [56145].

Props kebbet.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55694 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-09 22:26:21 +00:00
audrasjb
17f0e47798 General: Fix an error introduced in [56179].
Follow-up to [56179].

Unprops audrasjb.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55693 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-09 22:17:22 +00:00
audrasjb
8c76c6d58c Docs: Replace multiple single line comments with multi-line comments.
This changeset updates various comments as per WordPress PHP Inline Documentation Standards.
See https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/#5-inline-comments.

Follow-up to [56174], [56175], [56176], [56177], [56178], [56179].

Props costdev, audrasjb.
See #58459.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55692 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-09 21:48:22 +00:00
audrasjb
90dadb1457 Docs: Replace multiple single line comments with multi-line comments.
This changeset updates various comments as per WordPress PHP Inline Documentation Standards.
See https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/#5-inline-comments.

Follow-up to [56174], [56175], [56176], [56177], [56178].

Props costdev, audrasjb.
See #58459.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55691 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-09 21:40:23 +00:00
audrasjb
b696756a61 Docs: Replace multiple single line comments with multi-line comments.
This changeset updates various comments as per WordPress PHP Inline Documentation Standards.
See https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/#5-inline-comments.

Follow-up to [56174], [56175], [56176], [56177].

Props costdev, audrasjb.
See #58459.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55690 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-09 21:25:23 +00:00
audrasjb
2697e5bf6e Docs: Replace multiple single line comments with multi-line comments.
This changeset updates various comments as per WordPress PHP Inline Documentation Standards.
See https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/#5-inline-comments.

Follow-up to [56174], [56175], [56176].

Props costdev, audrasjb.
See #58459.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55689 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-09 20:17:29 +00:00
audrasjb
145060e3c0 Docs: Replace multiple single line comments with multi-line comments.
This changeset updates various comments as per WordPress PHP Inline Documentation Standards.
See https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/#5-inline-comments.

Follow-up to [56174], [56175].

Props costdev, audrasjb.
See #58459.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55688 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-09 20:07:22 +00:00
audrasjb
c4b57cbbe3 Docs: Replace multiple single line comments with multi-line comments.
This changeset updates various comments as per WordPress PHP Inline Documentation Standards.
See https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/#5-inline-comments.

Follow-up to [56174].

Props costdev, audrasjb.
See #58459.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55687 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-09 19:56:23 +00:00
audrasjb
7b853d4b69 Docs: Replace multiple single line comments with multi-line comments.
This changeset updates various comments as per WordPress PHP Inline Documentation Standards.
See https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/#5-inline-comments.

Props costdev, audrasjb.
See #58459.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55686 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-09 19:52:24 +00:00
audrasjb
2654ea50e8 Twenty Twenty-Three: Fix Separator Block default styling.
This changeset sets default width to `100px` for the Separator block, and sets the Separator block located in the Call to Action block pattern to `wide`.

Props haritpanchal, audrasjb, sakibmd, poena, Rahmohn, mikachan.
Fixes #57667.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55685 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-09 17:23:27 +00:00
audrasjb
1765de0770 Twenty Twenty-One: Add b and strong elements to editor styles.
Sets `font-weight: 700` for these elements in the editor, in order to match the front end styles. It overrides the default admin `font-weight` of `600` for 
these HTML elements.

Props nkeller15, audrasjb, sabernhardt, pavanpatil1, iamfarhan09, poena.
Fixes #58383.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55684 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-09 15:49:23 +00:00
audrasjb
f22f958bb5 Help/About: Add Help text for Rollback feature.
This changeset adds a new Help text for Rollback feature in the WordPress Updates screen. Also adds a link to the "Common Errors" HelpHub documentation page.

Follow-up to [51857].

Props costdev, afragen, audrasjb, kebbet, marybaum.
Fixes #58199.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55683 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-09 14:49:22 +00:00
audrasjb
cf58af5167 Twenty Twenty-One: Replace the experimental link color theme support.
This replaces `add_theme_support( 'experimental-link-color' )` with `add_theme_support( 'link-color' )`, to provide the feature to Twenty Twenty-One users, but 
also to avoid throwing a "doing it wrong" message when Gutenberg version 16.2 is active.

Follow-up to [58597].

Props poena.
Fixes #58702.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55682 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-09 14:31:24 +00:00
Sergey Biryukov
b868da5619 Coding Standards: Use strict comparison in wp-includes/class-wp-user-query.php.
Follow-up to [31669], [47808].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55681 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-09 09:59:24 +00:00
audrasjb
92ab411bb5 Docs: Docblock correction in WP_REST_Attachments_Controller::upload_from_data().
The `$data` parameter in `WP_REST_Attachments_Controller::upload_from_data()` is passed and treated only as `string`, not `array`.

Props costdev.
See #57840.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-08 21:59:23 +00:00
audrasjb
7d8fc9c519 Docs: Update link to MovableType docs (on Internet Archive).
Follow-up to [56165].

Props SergeyBiryukov.
Fixes #58760.
See #57840.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55679 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-08 13:21:23 +00:00
Sergey Biryukov
3cd78aef84 Coding Standards: Use strict comparison in wp-includes/class-wp-tax-query.php.
Follow-up to [16413], [16849].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55678 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-08 10:48:24 +00:00
audrasjb
d116ced568 Docs: Update link to MovableType documentation.
Props mujuonly.
Fixes #58760.
See #57840.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55677 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-08 07:43:27 +00:00
Felix Arntz
bb8ad05161 Media: Avoid programmatically created images within post content from incorrectly receiving fetchpriority="high".
Follow-up to [56037], as that changeset accidentally did not consider the changes made in [55825]: Images that are programmatically injected into post content (e.g. through a block, or shortcode, or any hook calling a function like `wp_get_attachment_image()`) must be treated as part of the whole post content blob since otherwise the heuristics for applying `fetchpriority="high"` and `loading="lazy"` are skewed by parsing certain images before others rather than sequentially parsing the entire post content. [55825] addressed that for lazy-loading, but when [56037] introduced `fetchpriority` support, the related refactor missed making the same consideration for that attribute.

Props flixos90, spacedmonkey, thekt12, mukesh27.
Fixes #58235.
See #58089.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55676 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-07 18:08:24 +00:00
Adam Silverstein
ea399e28a9 Revisions: return existing autosave after saving with unchanged data.
Correctly return the existing autosave when an unchanged autosave is saved, instead of returning an error.

Fix regressions after r55154 where an error and not the original autosave was returned when saving with unchanged data (for example, clicking the preview button repeatedly). Returning the autosave (ID) is the expected behavior for the endpoint.

Follow up to [55154]

Props Mamaduka, jeroenrotty, mrfoxtalbot.
Fixes #58739.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55675 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-07 17:53:23 +00:00
Felix Arntz
c7a4311ba0 Build/Test: Fix incorrect hook being used to separate Server-Timing metrics in performance tests.
The `wp-before-template` and `wp-template` metric intend to separate WordPress core's own bootstrap process from any logic that is part of the eventual template loaded. The appropriate hook for that is the `template_include` filter as that occurs right before the template file is included.

Props mukesh27, joemcgill.
Fixes #58674.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55674 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-07 17:41:27 +00:00
spacedmonkey
00a1a85ba3 Build/Test: Fix dynamic property deprecation warning in object cache drop-in.
Fix deprecation warning for dynamic property in object cache drop-in used in core unit tests. 

Dynamic (non-explicitly declared) properties are deprecated as of PHP 8.2 and are expected to become a fatal error in PHP 9.0.

Props spacedmonkey, johnbillion.
Fixes #58736. 
See #56034.
Built from https://develop.svn.wordpress.org/trunk@56161


git-svn-id: http://core.svn.wordpress.org/trunk@55673 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-07 11:32:23 +00:00
isabel_brison
ab8c2bd924 Editor: rename sync_status and move it to top level.
Renames sync_status to wp_pattern_sync_status and moves it to top level field of wp_block post type.

Props glendaviesnz, aaronrobertshaw, mukesh27, peterwilsoncc.
Fixes 58677.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55672 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-07 07:29:23 +00:00
isabel_brison
2405b7fbf7 Editor: update npm packages with bug fixes and blessed tasks.
Includes miscellaneous bug fixes and enhancements to the Library task (#58579) and to the Command Palette task (#58643).

See #58745.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55671 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-07 07:21:17 +00:00
Sergey Biryukov
d6e978dba3 Coding Standards: Use strict comparison in wp-includes/class-wp-simplepie-file.php.
Follow-up to [10687].

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


git-svn-id: http://core.svn.wordpress.org/trunk@55670 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-07 06:42:25 +00:00
John Blackbourn
974d2e18ec Docs: Correct the formatting of various filter documentation.
See #57840

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


git-svn-id: http://core.svn.wordpress.org/trunk@55669 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-07 00:36:22 +00:00
John Blackbourn
bf9257de5f REST API: Correct some filter docblocks.
See #57752

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


git-svn-id: http://core.svn.wordpress.org/trunk@55668 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-06 23:23:22 +00:00
audrasjb
1ae044c7b0 Twenty Twenty: Fix left margin in Latest Posts & Latest Comments blocks.
This fixes a bug where the `margin-left: auto` property was being overwritten to `margin-left: 0` causing an inconsistency in the alignment of these blocks.

Follow-up to [56034], [56039], [56040].

Props sabernhardt. 
Fixes #58396.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55667 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-06 22:02:30 +00:00
Felix Arntz
5b91824af0 Media: Ensure that the image widget supports loading optimization attributes.
This changeset adds support for loading optimization attributes such as `loading="lazy"` and `fetchpriority="high"` to the image widget. A new context `widget_media_image` is introduced for that purpose.

Props spacedmonkey, thekt12, mukesh27, westonruter.
Fixes #58704.
See #58235.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55666 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-06 16:33:27 +00:00
audrasjb
6625b149d9 Docs: Use third-person singular verbs in various function descriptions of load.php, as per docblocks standards.
See #57840.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55665 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-06 14:16:20 +00:00
audrasjb
b5a05e6558 Boostrap/Load: Incorrect condition in wp_check_php_mysql_versions().
This changeset adds a check for the existence of `db.php` at the default path `ABSPATH . 'wp-content/db.php'`, even if `WP_CONTENT_DIR` is defined and `db.php` 
is placed in `WP_CONTENT_DIR`.

Follow-up to [49161].

Props mikeyzm, SergeyBiryukov, hztyfoon, 
Fixes #58201.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55664 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-06 13:54:23 +00:00
audrasjb
29791cad8c Coding Standards: Add missing newline at the end of wp-admin/user.php.
Follow-up to [56150].

See #58194.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55663 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-06 12:54:22 +00:00
audrasjb
e952b31145 Users: Remove password reset links when the feature is not allowed for a specific user.
This also introduces `wp_is_password_reset_allowed_for_user()` which returns `false` when password reset is not allowed for a specific user. This can be 
filtered by developers using the existing `allow_password_reset` hook.

Props ocean90, cshark, robinwpdeveloper, tahmina1du, kraftbj.
Fixes #58194.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55662 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-06 12:47:23 +00:00
audrasjb
1729b7f6fc Twenty Seventeen: Reintroduce HTML5 Shiv.
This reintroduces HTML5 Shiv script that was removed in [55980], to ensure backward compatibility for websites that opted-in to IE support. Also reintroduces 
HTML5 credits.

Follow-up to [55980].

Props sabernhardt.
See #56699.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55661 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-06 08:34:21 +00:00
audrasjb
e90e66aac5 Twenty Thirteen: Reintroduce HTML5 Shiv.
This reintroduces HTML5 Shiv script that was removed in [55982], to ensure backward compatibility for websites that opted-in to IE support.

Follow-up to [55982].

Props sabernhardt.
See #56699.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55660 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-06 08:29:22 +00:00
audrasjb
b1bd1e8225 Twenty Fifteen: Reintroduce HTML5 Shiv.
This reintroduces HTML5 Shiv script that was removed in [55981], to ensure backward compatibility for websites that opted-in to IE support.

Follow-up to [55981]

Props audrasjb, sabernhardt.
See #56699.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55659 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-06 08:18:24 +00:00
isabel_brison
6ec98b81d7 Editor: fix comment indentation.
Fixes multiline comment indentation in `wp-includes/block-supports/settings.php`. Also fixes typo in the comment.

Props mukesh27.
See #58586.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55658 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-06 04:41:23 +00:00
isabel_brison
b6bada11c9 Editor: update template titles in browse mode.
Adds more meaningful titles to templates in the browse mode template list.

Props ntsekouras, audrasjb.
Fixes #58713.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55657 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-06 03:04:23 +00:00
Sergey Biryukov
8695849124 Docs: Document the return value of wp_check_php_version() using hash notation.
Follow-up to [42832].

See #57840.
Built from https://develop.svn.wordpress.org/trunk@56144


git-svn-id: http://core.svn.wordpress.org/trunk@55656 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-06 00:16:23 +00:00
Felix Arntz
fb9013c9b4 Media: Ensure that large images before the main query loop are counted towards lazy-loading threshold.
Following [55318], [55847], and [56142], certain images in the header of the page have received support for potentially receiving `fetchpriority="high"` and having the `loading="lazy"` attribute omitted. However, these images being present did not affect the "content media count" which counts the images towards a certain threshold so that the first ones are not lazy-loaded.

This changeset also increases that count for such header images if they are larger than a certain threshold. The threshold is used to avoid e.g. a header with lots of small images such as icon graphics to skew the lazy-loading behavior.

Props thekt12, spacedmonkey, flixos90.
Fixes #58635.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55655 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-05 21:38:24 +00:00
Felix Arntz
9ecfdd8e5a Media: Ensure custom header image tag supports loading optimization attributes.
This changeset is a follow up to [56037] and ensures that the `get_header_image_tag()` function receives the benefits of `wp_get_loading_optimization_attributes()` as well. Prior to `fetchpriority` support, this was not needed since the header image should never be lazy-loaded, but the image certainly is a `fetchpriority` candidate, so therefore it is crucial to have it supported.

Props felipeelia, spacedmonkey, mukesh27, westonruter, flixos90.
Fixes #58680.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55654 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-05 19:30:25 +00:00
John Blackbourn
0c324b983f General: Increase the minimum supported version of PHP to 7.0.0.
This also removes the random compat library which is no longer necessary, and adjusts unit tests and CI workflows that no longer need to take PHP 5.6 into account.

Thank you for your service, PHP 5. Onwards!

Props SergeyBiryukov, mukesh27, dingo_d, audrasjb, jrf, costdev, azaozz, JavierCasares, hellofromTonya, samiamnot, spacedmonkey, masteradhoc, knutsp, garyjones, chanthaboune

Fixes #57345

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


git-svn-id: http://core.svn.wordpress.org/trunk@55653 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-05 17:41:22 +00:00
davidbaumwald
fec46200bb Default Filters: Correct hook type for wp_print_scripts and customize_controls_print_styles.
Props Cybr, bhi3315.
Fixes #58665.
Built from https://develop.svn.wordpress.org/trunk@56140


git-svn-id: http://core.svn.wordpress.org/trunk@55652 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-05 16:21:27 +00:00
audrasjb
025e70df46 Editor: Fix font paths in iframed editor.
By making font asset files URLs absolute instead of relative, this ensures each font asset file does properly relate to the actual location of the files.

See https://github.com/WordPress/gutenberg/pull/50875.

Props ironprogrammer, antonvlasenko, ndiego, shuvo247, robinwpdeveloper.
Fixes #58672.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55651 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-05 12:34:21 +00:00
Sergey Biryukov
84e1f03b1f General: Revert strict comparison in WP_List_Util for now.
Casting the values to a string causes `Array to string conversion` PHP warnings, so using loose comparison restores the previous behavior for code relying on type juggling when using the `wp_list_filter()` function, e.g. comparing a numeric string to an integer.

The unit test case added for this scenario in the previous commit remains. 

Follow-up to [55908], [56137].

See #57839.
Built from https://develop.svn.wordpress.org/trunk@56138


git-svn-id: http://core.svn.wordpress.org/trunk@55650 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-05 11:15:22 +00:00
Sergey Biryukov
7497b1099f General: Compare values as strings in WP_List_Util::filter() and ::sort_callback().
This aims to preserve backward compatibility for code relying on type juggling when using the `wp_list_filter()` function, e.g. comparing a numeric string to an integer.

Follow-up to [55908].

Props azaozz, jeremyfelt, david.binda.
See #57839.
Built from https://develop.svn.wordpress.org/trunk@56137


git-svn-id: http://core.svn.wordpress.org/trunk@55649 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-05 10:46:26 +00:00
audrasjb
900a79dc53 Editor: Normalize paths in register_core_block_style_handles().
Previously, this function did not normalize paths before using `glob()` or registering styles. This led to a mixture of forward-slashes and back-slashes in 
Windows environments.

This change uses `wp_normalize_path()` to ensure Windows compatibility.

Props wildworks, costdev, kafleg, mukesh27.
Fixes #58711.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55648 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-05 07:16:21 +00:00
audrasjb
a295a53218 Administration: CSS selector correction for list table checkboxes.
This replaces `.check-column .label-covers-full-cell input` selector with `.check-column .label-covers-full-cell + input`.

Follow-up to [55954].

Props sabernhardt.
Fixes #21516.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55647 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-05 07:08:25 +00:00
John Blackbourn
e0750558b9 Administration: Adjust the "No private directive present in cache control when user not logged in" test so the assertions won't fail if the headers don't contain a cache-control key at all.
Props joemcgill

Fixes #21938

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


git-svn-id: http://core.svn.wordpress.org/trunk@55646 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-04 23:32:24 +00:00
Andrew Ozz
817c701f29 HTML API: Fix a fatal error when processing malformed document with unclosed attribute.
Props: dlh, costdev, dmsnell.
Fixes: #58637.
Built from https://develop.svn.wordpress.org/trunk@56133


git-svn-id: http://core.svn.wordpress.org/trunk@55645 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-04 20:45:23 +00:00
Sergey Biryukov
67863b9fb7 Options, Meta APIs: Check if the gmt_offset value is numeric in sanitize_option().
When saving the settings via the admin UI, the default value for any options not passed in the current `$_POST` request is set to `null` in `wp-admin/options.php`. Some options, e.g. `blog_public`, then rely on `null` being passed to `update_option()` to determine whether the value was changed or not.

This commit resolves a PHP 8.1 deprecation notice when saving the `gmt_offset` option without any changes:
{{{
Deprecated: preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated
}}}

Includes a similar fix for the `blog_charset` option.

Follow-up to [4112], [4329], [5541], [21849].

Props adi3890, dhrupo, hrdelwar, hasanmisbah, oglekler, mukesh27, SergeyBiryukov.
Fixes #57728.
Built from https://develop.svn.wordpress.org/trunk@56132


git-svn-id: http://core.svn.wordpress.org/trunk@55644 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-04 13:42:24 +00:00
audrasjb
33133ad818 Twenty Twenty-Three: Allow changing Site Title font size in Marigold and Whisper styles.
This changeset moves font styling from link element to site title (or post title) block in Marigold and Whisper style variations, which allows to change Site 
Title block font size.

Props ryelle, shuvoaftab, sabernhardt, alvitazwar052, shailu25, poena, audrasjb.
Fixes #57971.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55643 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-04 13:40:29 +00:00
davidbaumwald
bbfe308f33 Post WordPress 6.3 Beta 3 version bump.
Built from https://develop.svn.wordpress.org/trunk@56130


git-svn-id: http://core.svn.wordpress.org/trunk@55642 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-03 17:07:25 +00:00
davidbaumwald
850552b490 WordPress 6.3 Beta 3.
Built from https://develop.svn.wordpress.org/trunk@56129


git-svn-id: http://core.svn.wordpress.org/trunk@55641 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-03 16:41:27 +00:00
Sergey Biryukov
c7381d46b5 HTTP API: Declare a few default parameters in WP_Http_Curl and WP_Http_Streams.
This resolves `Undefined array key` PHP warnings when trying to access any of these values in `WP_Http_Curl::request()` or `WP_Http_Streams::request()`:

* `$parsed_args['decompress']`
* `$parsed_args['stream']`
* `$parsed_args['filename']`

Follow-up to [10410], [11236], [13274], [17555], [37428], [42766], [44346].

Props sjoerdlinders, hellofromTonya, jrf, oglekler, Clorith, SergeyBiryukov.
Fixes #52622.
Built from https://develop.svn.wordpress.org/trunk@56128


git-svn-id: http://core.svn.wordpress.org/trunk@55640 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-03 14:03:29 +00:00
isabel_brison
919ea56557 Editor: update npm packages with bug fixes and blessed tasks.
Includes miscellaneous bug fixes and enhancements to the Library task (#58579) and to the site vs content editing task (#58641)

Fixes #58701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55639 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-03 09:14:26 +00:00
isabel_brison
4a7e3080c3 Editor: adds deprecation for deleted block_core_navigation_submenu_build_css_colors function.
Adds the `block_core_navigation_submenu_build_css_colors` function to `wp-includes/deprecated.php`. Follow-up to #58623.

Props ramonopoly, peterwilsoncc.
See #58623.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55638 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-03 06:57:23 +00:00
isabel_brison
c17c4ec2cb Editor: Enqueue commands package styles.
Enqueues the stylesheet from the commands package which holds the CSS for the Command Palette feature.

Props wildworks.
Fixes #58667.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55637 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-03 06:50:25 +00:00
Sergey Biryukov
3ff68df981 Upgrade/Install: Initialize the local $checkout variable in WP_Automatic_Updater::is_vcs_checkout().
This avoids an `Undefined variable $checkout` PHP warning if all of the directories checked for access are disallowed due to the PHP `open_basedir` restrictions.

Follow-up to [55425].

Props jqz, costdev, audrasjb.
Fixes #58563.
Built from https://develop.svn.wordpress.org/trunk@56124


git-svn-id: http://core.svn.wordpress.org/trunk@55636 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-02 10:35:23 +00:00
audrasjb
9e1170351e Quick/Bulk Edit: Ensure scheduled posts are published when using Bulk Edit.
This changeset ensures scheduled posts are actually published when changing their status to "Published" using bulk edit. Also adds related unit tests.

Props siobhan, Clorith, webcommsat, cadic, oglekler, audrasjb, pavanpatil1.
Fixes #31635.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55635 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-02 08:04:21 +00:00
audrasjb
5933075eae Docs: Fix image_get_intermediate_size() docblock.
The description of returned values in array was incorrect for `image_get_intermediate_size()`:
- `$file` returns the filename of image, no path information
- `$path` returns path relative to the uploads directory, not absolute

Props crstauf, sccr410.
Fixes #58686.
See #57840.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55634 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-01 23:10:22 +00:00
audrasjb
4e24d5d690 Twenty Seventeen: Various docblock fixes.
Props sabernhardt, audrasjb.
Fixes #58695.
See #57840.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55633 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-01 17:04:24 +00:00
Sergey Biryukov
afa826e356 Docs: Correct @return description for wp_count_posts().
Add a note that `wp_count_posts()` returns an empty object if the post type passed to the function does not exist.

Follow-up to [6730], [6808], [8081], [24826], [29093], [51885].

Props crstauf, Ov3rfly.
Fixes #58685.
Built from https://develop.svn.wordpress.org/trunk@56120


git-svn-id: http://core.svn.wordpress.org/trunk@55632 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-07-01 10:04:26 +00:00
Weston Ruter
d87c35b008 Emoji: Give name to web worker in emoji loader and terminate when finished.
See #58472.
Follow-up to [56074], [56095].
Props westonruter, joemcgill.
Fixes #58691.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55631 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-30 20:51:28 +00:00
audrasjb
4a75dae77a Twenty Twenty-One: Improve various globals documentation, as per docblock standards.
This changeset adds globals documentation, and also a couple Docblock standards improvements.

Props upadalavipul, audrasjb.
Fixes #58684.
See #57840.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55630 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-30 12:54:27 +00:00
Sergey Biryukov
7992c49b5f Site Health: Correct the label for wp-content directory check.
This removes HTML tags from the label, which were not displayed as expected due to escaping. Including the directory name in the label is also redundant, as it is already mentioned in the check result description directly below.

Includes:
* Adjusting a few other labels for consistency.
* Moving `wp-content` out of the translatable string in a similar message in `WP_Upgrader::generic_strings()`.

Follow-up to [55720].

Props dlh, mukesh27, audrasjb, SergeyBiryukov.
See #58678.
Built from https://develop.svn.wordpress.org/trunk@56117


git-svn-id: http://core.svn.wordpress.org/trunk@55629 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-30 11:13:27 +00:00
audrasjb
c625b46d60 Twenty Fourteen: Fix text color issue on Button block hover.
This fixes a text color issue when hovering Button blocks located on sidebars or widgets.

Props shailu25, sabernhardt, mukesh27.
Fixes #58509.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55628 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-30 08:56:27 +00:00
John Blackbourn
6a33072f68 General: Ignore invalid types for the '_wp_http_referer' URL query variable.
It's expected that this query variable contains a string when it's set, but it's possible for its type to be something else such as an array. Ignoring non-string values prevents cascading errors when its value is passed through functions that expect a string.

Props xknown, costdev, jrf, azaozz

Fixes #57670

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


git-svn-id: http://core.svn.wordpress.org/trunk@55627 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-29 23:27:23 +00:00
John Blackbourn
168857d0f9 Build/Test Tools: Improve the name of the e2e test jobs on GitHub Actions.
Fixes #58661

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


git-svn-id: http://core.svn.wordpress.org/trunk@55626 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-29 23:11:21 +00:00
John Blackbourn
ade622ffa4 Build/Test Tools: Run E2E tests with and without SCRIPT_DEBUG enabled.
This adds a matrix to the e2e test runs on GitHub Actions so the tests run both with and without `SCRIPT_DEBUG` enabled. This allows us to catch scenarios where the minified and non-minified files may differ.

Props Clorith, joemcgill

Fixes #58661

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


git-svn-id: http://core.svn.wordpress.org/trunk@55625 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-29 23:03:22 +00:00
Felix Arntz
a1fcd5eaa4 Media: Fix inconsistent docs for existing wp_img_tag_add_loading_attr filter and remove duplicate.
Follow-up to [56037].

Props thekt12.
See #58235.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55624 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-29 17:34:23 +00:00
Sergey Biryukov
86d28672fe Filesystem API: Define password as null if not set when using SSH2 with public/private keys.
This resolves an `Undefined array key "password"` PHP warning in `WP_Filesystem_SSH2::connect()` when using public/private key authentication, in which case providing a password is optional.

Follow-up to [8865].

Props J-Dill, costdev, ehsanakhgari, dd32.
Fixes #33196.
Built from https://develop.svn.wordpress.org/trunk@56111


git-svn-id: http://core.svn.wordpress.org/trunk@55623 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-29 17:05:30 +00:00
Felix Arntz
03f194d679 General: Add missing parentheses to functions referenced in _deprecated_function() calls added in 6.3.
See #58235, #58301, #58555.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55622 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-29 15:33:25 +00:00
audrasjb
ed23ac2a04 Editor: Allow Query Block to show posts from multiple selected authors.
This changeset adds handler for multiple cases where author data can be passed to the Query Block:
- array: array of author ids
- string: comma separated author ids
- integer: single author id

Props adi3890, costdev, mayur8991, oglekler.
Fixes #58426.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55621 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-29 13:30:33 +00:00
audrasjb
bf2569ae1d Twenty Twenty-Two: Adjust selector to apply bottom margin to top-level comments.
This adds spacing between top-level comments, which improves the layout of the comment section.

Props pitamdey, sabernhardt, mukesh27.
Fixes #58653.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55620 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-29 07:55:22 +00:00
audrasjb
c9421f4401 Upgrade/Install: Only show errors if there is nothing to update.
Previously, when the `do-plugin-upgrade` or `do-theme-upgrade` actions were accessed directly on `update-core.php`, an error message stating "Select one or 
more (plugins|themes) to update" would be shown even if there was nothing to update.

This ensures that the error message only appears when there is something to update.

Props Presskopp, sabernhardt, pbiron, afragen, zunaid321, shuvoaftab, ugyensupport, costdev.
Fixes #57999.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55619 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-29 07:21:22 +00:00
audrasjb
b89f4fe4aa Twenty Twenty: Fix Button block text color when located in footer widgets.
This changeset ensures the Button block text color is consistent when this block is used in a footer widget.

Props mayur8991, itpathsolutions, nithins53, sabernhardt, arafatjamil01, thakordarshil, pooja1210, mukesh27, shailu25, shwetabathani2312.
Fixes #57087.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55618 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-29 06:59:23 +00:00
isabel_brison
3d5263c642 REST API: updates test annotations for global styles revisions
Adds `@covers` annotations to tests and fixes incorrect spacing.

Props ramonopoly, mukesh27.
See #58524.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55617 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-29 06:50:20 +00:00
audrasjb
f7a1d86d17 Themes: Fix layout issue on the Themes page background overlay.
This changeset replaces the `780px` media query `max-width` value with `782px` for better consistency and to fix a responsive layout issue.

Props zodiac1978, ironprogrammer, orestissam, audrasjb, monzuralam.
Fixes #58164.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55616 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-29 06:48:24 +00:00
isabel_brison
9fa202a4f9 Editor: delete test file from update duotone support.
Deleting the test file that should have been removed in [56101].

See #58555.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55615 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-29 06:36:24 +00:00
audrasjb
09bc0eb840 Twenty Sixteen: Replace deprecated unbind method with off.
This fixes a `Deprecated jQuery.fn.unbind()` notice.

Props Malae, dilipbheda, sabernhardt, audrasjb.
Fixes #58225.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55614 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-29 06:30:26 +00:00
isabel_brison
3de83926d6 Editor: update duotone support.
Updates duotone support after stabilisation of selectors API and adds a few small code quality and UI improvements.

Props onemaggie, peterwilsoncc, ajlende, audrasjb, mikeschroder, ramonopoly.
Fixes #58555.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55613 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-29 06:21:28 +00:00
davidbaumwald
97f1622d07 Post WordPress 6.3 Beta 2 version bump.
Built from https://develop.svn.wordpress.org/trunk@56100


git-svn-id: http://core.svn.wordpress.org/trunk@55612 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 23:28:24 +00:00
davidbaumwald
fffd7a5b20 WordPress 6.3 Beta 2.
Built from https://develop.svn.wordpress.org/trunk@56099


git-svn-id: http://core.svn.wordpress.org/trunk@55611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 23:01:28 +00:00
Bernhard Reiter
c922d4cf06 Editor: Update npm packages to fix gutenberg_ prefix
Update `@wordpress/*` packages to the latest patch versions in
order to replace calls to `gutenberg_apply_colors_support` with
`wp_apply_colors_support` in order to avoid a fatal error.

Props joemcgill, spacedmonkey, flixos90, ironprogrammer, sabernhardt.
Fixes #58651.
Built from https://develop.svn.wordpress.org/trunk@56098


git-svn-id: http://core.svn.wordpress.org/trunk@55610 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 22:38:52 +00:00
Joe McGill
ca421dd3c0 Build/Test Tools: Update terser-webpack-plugin.
This bumps the `terser-webpack-plugin` dependency to version `5.3.9`, which fixes an error during the minification process of the `@wordpress/block-library` package during builds.

Props clorith, azaozz, desrosj.
Fixes #58660, See #57657.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55609 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 20:08:46 +00:00
K. Adam White
f028b4e781 REST API: Expose current $request object to cors_header filters in WP_REST_SERVER->serve_request().
Allows headers to be more easily set on a per-response basis when more or less security is needed on a specific route.

Props bor0, rachelbaker, spacedmonkey, chaion07, oglekler, SergeyBiryukov.
Fixes #57752.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55608 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 17:39:29 +00:00
Weston Ruter
10c6e2e0e8 Emoji: Pass functions as arguments in loader to account for minification and worker script.
Amends [56074].
Fixes #58472.
Props joemcgill, westonruter, azaozz.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55607 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 17:26:26 +00:00
spacedmonkey
e9004a5b48 Themes: Use improved support for child themes in wp_theme_has_theme_json().
Improve logic in `wp_theme_has_theme_json()`, to only check to see if theme.json exists in child theme, if the current theme is a child theme. Without this change, `file_exists` would be called twice on every request, which is wasteful. 

Follow up to [56085]. 

Props spacedmonkey, SergeyBiryukov.
Fixes #57629.
Built from https://develop.svn.wordpress.org/trunk@56094


git-svn-id: http://core.svn.wordpress.org/trunk@55606 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 17:14:27 +00:00
K. Adam White
d72667d737 REST API: Cache schema in block pattern and menu item endpoints.
Performance improvement to add schema caching to pattern and menu item REST endpoints, so identical schema object are not needlessly regenerated.

Props spacedmonkey.
Fixes #58657. See [45811].


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


git-svn-id: http://core.svn.wordpress.org/trunk@55605 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 15:53:26 +00:00
Andrew Ozz
88a4cf17a6 Script Loader: Fix unintended adding of async to scripts that are printed directly with wp_print_scripts() without enqueueing them beforehand.
Props: joemcgill, westonruter, felixarntz, peterwilsoncc.
See: #58648.
Built from https://develop.svn.wordpress.org/trunk@56092


git-svn-id: http://core.svn.wordpress.org/trunk@55604 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 14:16:27 +00:00
Sergey Biryukov
d33f37603e Quick/Bulk Edit: Add an action hook to bulk_edit_posts() function.
This changeset introduces the `bulk_edit_posts` action hook, triggered after processing the post data for bulk edit and before the function returns its results. For example, it allows developers to save additional data without having to perform any `.ajax()` calls.

Follow-up to [8973].

Props helgatheviking, helen, Mte90, afercia, mrasharirfan, desrosj, itowhid06, pento, mensmaximus, audrasjb, costdev, webcommsat, marybaum, oglekler, mukesh27, SergeyBiryukov.
Fixes #28112.
Built from https://develop.svn.wordpress.org/trunk@56091


git-svn-id: http://core.svn.wordpress.org/trunk@55603 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 13:19:31 +00:00
Clorith
b789345798 Build/Test Tools: Switch frame container when testing block editor output.
The initial commit added the frame lookup within the wrong test, this follow-up restores the previous test runner, and adds the container lookup to the correct test.

Follow-up to [56089].

See #58592.
Built from https://develop.svn.wordpress.org/trunk@56090


git-svn-id: http://core.svn.wordpress.org/trunk@55602 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 10:59:25 +00:00
Clorith
a65333f3bb Build/Test Tools: Switch frame container when testing block editor output.
When the block editor is rendered, the editor content is wrapped inside an iframe tag; The tool used to run End to End (E2E) tests, Puppeteer, puts all such frames into separate containers, but the initial test was checking if the parent page had a given selector, which was leading to timeout failures. By actively switching the container to the iframe wrapper,and setting it as the active context, it helps ensure the expected selectors can be found, and its content can be verrified.

See #58592.
Props joemcgill, SergeyBiryukov, talldanwp, oglekler, Clorith.
Built from https://develop.svn.wordpress.org/trunk@56089


git-svn-id: http://core.svn.wordpress.org/trunk@55601 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 10:47:26 +00:00
Andrew Ozz
0a265883b9 Revert use of str_starts_with() and str_contains() in update-core.php.
Fixes updating WordPress from 5.7 and earlier versions. When updating this file runs first in the old version where the polifills may not be available.

Props: ironprogrammer, SergeyBiryukov, dd32, azaozz.
See: #58206.
Built from https://develop.svn.wordpress.org/trunk@56088


git-svn-id: http://core.svn.wordpress.org/trunk@55600 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 10:09:29 +00:00
audrasjb
f6ab80b48c Twenty Sixteen: Twenty Ten: Reflect Quote block text color on the entire block.
This changeset fixes an issue where the selected text color for the Quote block was not reflected on all the elements of the block.

Props nidhidhandhukiya, sabernhardt, audrasjb, shailu25, anilvaza.
Fixes #57204.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55599 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 08:00:26 +00:00
isabel_brison
9dcce378a0 Editor: update npm packages to latest patch versions.
Updates the `@wordpress` npm packages to their latest patch versions, including generated PHP files.

Props ramonopoly.
Fixes #58654.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55598 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 07:04:13 +00:00
Peter Wilson
b72be00111 Script Loader: Prevent fatal error in load-styles.php.
Duplicates the code of `get_theme_file_path()` within `wp_theme_has_theme_json()`. This is to account for the `load-styles.php` context in which the former function is unavailable.

Follow up to [56073].

Props SergeyBiryukov, oglekler, spacedmonkey, joemcgill, dd32.
Fixes #57629.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55597 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 05:57:28 +00:00
isabel_brison
4182e51552 Editor: update function name in test comment.
Renames `gutenberg_apply_typography_support` to `wp_apply_typography_support` in typography test comment.

Props kebbet, oglekler, ramonopoly.
See #58522.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55596 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 03:58:26 +00:00
isabel_brison
c4cb9b82ad Editor: add Post Template fallback styles.
Adds fallback styles necessary for classic themes to display the correct Post Template layout.

Props mikeschroder, ramonopoly.
Fixes #58570.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55595 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 03:49:27 +00:00
isabel_brison
1c1f68fbab REST API: add revisions endpoint for global styles.
Adds an endpoint that returns revisions to the global styles custom post.

Props ramonopoly, peterwilsoncc, spacedmonkey, mukesh27, timothyblynjacobs.
Fixes #58524.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55594 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-28 03:35:25 +00:00
audrasjb
2257cecdbf Twenty Ten: Prevent Block Inserter icon color override.
This changeset prevents the likes of `body * { color: #000; }` in custom styles to override the Block Inserter icon styles.

Props umesh84, kajalgohel, sabernhardt, pooja1210, amin7.
Fixes #57414.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55593 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 23:33:26 +00:00
audrasjb
9395b8dc16 Twenty Ten: Reflect Heading block text color on front-end.
This changeset fixes an issue where the selected text color of the Heading block was not reflected on front-end.

Props umesh84, sabernhardt, audrasjb, pooja1210, darshitrajyaguru97.
Fixes #56603.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55592 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 22:42:26 +00:00
Felix Arntz
905cff1733 Site Health: Include new WP_DEVELOPMENT_MODE in the list of constants.
Follow-up to [56042].

Props kebbet.
Fixes #58646.
See #57487.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55591 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 22:03:29 +00:00
davidbaumwald
26a104cee8 Reverting trunk back to alpha status while issues prevented a final 6.3 Beta 1 release.
Built from https://develop.svn.wordpress.org/trunk@56078


git-svn-id: http://core.svn.wordpress.org/trunk@55590 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 20:34:25 +00:00
davidbaumwald
b7427b977c WordPress 6.3 Beta 1.
Built from https://develop.svn.wordpress.org/trunk@56077


git-svn-id: http://core.svn.wordpress.org/trunk@55589 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 19:58:27 +00:00
Bernhard Reiter
a6a1ebcc11 Editor: Update npm WordPress npm packages.
This fixes a fatal error in the Navigation block, which was due to a reference
to `WP_Navigation_Fallback_Gutenberg` that isn’t present in Core under that name.

Follow-up to [56065].
Props ramonjd, isabel_brison, dmsnell.
Fixes #58623.
Built from https://develop.svn.wordpress.org/trunk@56076


git-svn-id: http://core.svn.wordpress.org/trunk@55588 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 18:27:50 +00:00
K. Adam White
0d9723a44e REST API: Check post meta update authorization only when value is changed.
Resolves a bug where a post save will be reported as failed if the post includes any meta keys the current user does not have authorization to update, even when those meta values are unchanged.
Write authorization is now checked for a meta key only when the value of that key has changed, so that passing a REST response back unchanged will not cause failures.
Authorization is only needed when data will be updated.

Props ckoerner, TimothyBlynJacobs, spacedmonkey


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


git-svn-id: http://core.svn.wordpress.org/trunk@55587 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 17:26:27 +00:00
Weston Ruter
80abb55903 Emoji: Optimize emoji loader with sessionStorage, willReadFrequently, and OffscreenCanvas.
* Use `sessionStorage` to remember the previous results of calls to `browserSupportsEmoji()` for 1 week.
* Optimize reading from canvas by supplying the `willReadFrequently` option for the 2D context.
* When `OffscreenCanvas` is available, offload `browserSupportsEmoji()` to a web worker to prevent blocking the main thread. This is of primary benefit to Safari which does not yet support `willReadFrequently`.
* Remove obsolete support for IE11 since promises are now utilized. Nevertheless, ES3 syntax is maintained and IE11 will simply short-circuit.

Props westonruter, dmsnell, peterwilsoncc, valterlorran, flixos90, spacedmonkey, joemcgill.
Fixes #58472.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55586 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 17:24:25 +00:00
spacedmonkey
1afbc5b8a7 Themes: Use get_theme_file_path() in wp_theme_has_theme_json().
Ensure that all places where `theme.json` is included, use `get_theme_file_path` or `WP_Theme->get_file_path`, so that the path is run through `theme_file_path` filter. This change also means that the method `get_file_path_from_theme` can be deprecated, as it is no longer used in core. 

Props flixos90, spacedmonkey, costdev, johnbillion, oglekler, hellofromtonya, mukesh27, audrasjb, oandregal.
Fixes #57629.
Built from https://develop.svn.wordpress.org/trunk@56073


git-svn-id: http://core.svn.wordpress.org/trunk@55585 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 17:12:26 +00:00
Sergey Biryukov
26a0bf0049 Media: Only show “Copy” and “Download” actions when an attachment URL is available.
Includes unit tests to verify the logic for displaying row actions in the Media Library in certain scenarios, e.g. with and without the “Trash” or “Unattached” filter.

Follow-up to [55949].

Props costdev, kebbet, mukesh27, oglekler.
Fixes #57893.
Built from https://develop.svn.wordpress.org/trunk@56072


git-svn-id: http://core.svn.wordpress.org/trunk@55584 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 16:29:28 +00:00
audrasjb
955720d678 Users: Introduce the wp_update_user action.
This changeset introduces the `wp_update_user` action hook, which fires after the user has been updated and emails have been sent.

Props tanner-m, desrosj, lphoumpakka, oglekler, audrasjb, azzaoz.
Fixes #57843.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55583 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 16:27:29 +00:00
audrasjb
6f5741c348 Coding Standards: Fix a PHPCS issue found in wpPluginsListTable.php.
This fixes a previously existing issue, discovered after [56068].



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


git-svn-id: http://core.svn.wordpress.org/trunk@55582 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 16:11:26 +00:00
Mike Schroder
58fd744433 Filesystem API: Allow optional inclusion of hidden files in list_files().
Adds a new optional `$include_hidden` parameter to allow the inclusion of hidden (`.` prefixed) files.
Defaults to false for backward compatibility.

Props yani.iliev, sabernhardt, costdev, rutviksavsani, zunaid321, azaozz.
Fixes #53659.
Built from https://develop.svn.wordpress.org/trunk@56069


git-svn-id: http://core.svn.wordpress.org/trunk@55581 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 16:08:27 +00:00
audrasjb
c11e87fbb8 Plugins: Introduce the plugins_list filter.
This changeset adds the `plugins_list` hook, which can be use to filter the list of plugin displayed on WP Admin Plugins screen.

Props nateallen, fischfood, mukesh27, peterwilsoncc, SergeyBiryukov, audrasjb, costdev, ecorica, zunaid321.
Fixes #57278.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55580 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 16:01:27 +00:00
audrasjb
b459be6a15 Menus: Allow themes and plugins to pass HTML attributes to various Nav Walker outputs.
This introduces a new set of hooks that can be used to filter various HTML elements of the Nav Walker, in order to output the desired HTML attributes:

- List items: `nav_menu_item_attributes`
- Submenu `<ul>` element: `nav_menu_submenu_attributes`

Props davidwebca, danyk4, costdev, peterwilsoncc, audrasjb, oglekler.
Fixes #57140.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55579 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 15:26:27 +00:00
spacedmonkey
b80a8763c7 Database: Move the if statement outside of the loop.
In the foreach loop of last results, move the if statement outside of the loop. There is no need to check every element in the array for the output type. Do this once outside of the loop. For large database queries with lots of rows returned, this should improve PHP performance. 

Props spacedmonkey, Cybr, johnbillion, costdev, joemcgill.
Fixes #56541.
Built from https://develop.svn.wordpress.org/trunk@56066


git-svn-id: http://core.svn.wordpress.org/trunk@55578 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 14:35:29 +00:00
Bernhard Reiter
00401e16b3 Editor: update Wordpress npm packages.
Updates the wordpress npm packages and their dependencies to the latest versions, as well as auto-updates to relevant core PHP files.

Props youknowriad, joemcgill, spacedmonkey, ramonopoly, peterwilsoncc, bernhard-reiter, tyxla, dmsnell.
Fixes #58623.
Built from https://develop.svn.wordpress.org/trunk@56065


git-svn-id: http://core.svn.wordpress.org/trunk@55577 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 14:24:19 +00:00
spacedmonkey
c009f9d719 Script Loader: Fix performance issues in wp_common_block_scripts_and_styles.
In [52069] the function `wp_common_block_scripts_and_styles` was changed load individual theme stylesheets, if the current theme supports block styles and loading separate core block assets. To do this, the function calls many expensive file operation functions, such as `glob`, `file_exists` and `file_get_contents`. This is wasteful, as these functions are loaded on every page request, even request that do not include blocks, like REST API calls. In [56044] all core block styles are registered in a single place. In `register_core_block_style_handles` calls `glob` to get all css styles in block directories. While registering style and editor styles, also register block theme styles, under a new style handle. Example `wp-block-avatar-theme`. If the current theme supports block styles, also request the block to enqueue the theme style on the front end. As these new stylesheets have a path attribute set, the function `wp_maybe_inline_styles` will automatically inline the styles for you. 

Props spacedmonkey, flixos90, oandregal, costdev, audrasjb, mukesh27.
Fixes #58560.
Built from https://develop.svn.wordpress.org/trunk@56064


git-svn-id: http://core.svn.wordpress.org/trunk@55576 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 11:28:28 +00:00
isabel_brison
d7bda1a6be Editor: allow filtering block patterns by source.
Extends the REST API endpoint for block patterns to provide a source attribute that can be used to filter patterns.

Props aaronrobertshaw, mukesh27, talldanwp, ramonopoly.
Fixes 58622.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55575 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 11:13:27 +00:00
audrasjb
033bca66f8 Twenty Nineteen: Always set background color and foreground color together.
On the `<body>` element, as a best practice background color and text color should always be set together. This makes it easier to quickly understand the 
underlying color scheme.

Follow-up to [55960], [55964].

Props sabernhardt, audrasjb, kebbet.
Fixes #45916.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55574 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 10:45:30 +00:00
spacedmonkey
b688be1c8c Options, Meta APIs: Prime network options in a single cache call using wp_cache_get_multiple.
Tweak the `wp_load_core_site_options` function, to also prime network options using `wp_cache_get_multiple` if persistent object cache is present. 

Props mukesh27, oglekler, peterwilsoncc, costdev, jeremyfelt, spacedmonkey.
Fixes #56913.
Built from https://develop.svn.wordpress.org/trunk@56061


git-svn-id: http://core.svn.wordpress.org/trunk@55573 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 10:41:30 +00:00
spacedmonkey
aa404f099e Themes: Block template is located twice in get_query_template().
When the function `_template_loader_filters` was ported to core from gutenberg, it retained the filter to load block templates. However, the function `locate_block_template` is called manually in `get_query_template`, so this filter is not needed. Calling `locate_block_template` twice, results in performance issue, as `locate_block_template` is a expensive function to run, as it does database and file lookups.


Props dlh, mukesh27, flixos90, SergeyBiryukov, bernhard-reiter, spacedmonkey.
Fixes #58299.
Built from https://develop.svn.wordpress.org/trunk@56060


git-svn-id: http://core.svn.wordpress.org/trunk@55572 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 10:15:28 +00:00
isabel_brison
fbbe0f0a76 General: add block theme previews.
Adds a preview link to block themes in the themes screen, opening the previews in the site editor.

Props onemaggie, andraganescu, audrasjb, flixos90, peterwilsoncc, spacedmonkey, scruffian.
Fixes #58561.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55571 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 09:36:21 +00:00
isabel_brison
d9e41aa9e9 Editor: refactor and stabilize selectors API.
Restructures the block.json selectors API by moving `__experimentalSelector` props into their own config, stabilizing the selectors API, and enabling more flexible styling options.

Props ramonopoly, spacedmonkey, aaronrobertshaw, onemaggie.
Fixes #58586.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55570 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 08:48:24 +00:00
audrasjb
e96961f861 Twenty Nineteen: Add fragment ID to paginated links.
This changeset adds the `#content` fragment identifier to paginated links so the screen scrolls down to the content section when clicking on pagination links 
located on paginated pages.

Props laurelfulford, mukesh27, joyously, poena, alvitazwar052, oglekler, audrasjb.
Fixes #45920.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55569 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 08:11:23 +00:00
audrasjb
37ebdb8fa1 Site Health: Add server time debug data.
This changeset adds "Current time, "Current UTC time" and "Current Server time" under the "Server" section of Site Health debug infos. This provides the 
current time, the server time, and allow for comparison if there's some time-related issues.

Props sebastienserre, Clorith, audrasjb, kebbet, robinwpdeveloper, hrrarya, mukesh27, hareesh-pillai, costdev.
Fixes #56378.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55568 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 08:04:20 +00:00
isabel_brison
2e2aea02c2 Editor: stabilise layout and refactor definitions.
Marks the layout support stable and moves layout definitions from `theme.json` into `wp-includes/block-supports/layout.php`.

Props andrewserong, poena, ramonopoly, peterwilsoncc.
Fixes #58550.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55567 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 07:25:22 +00:00
isabel_brison
c326f4855c Editor: navigation post preloading.
Adds a hook for preloading navigation posts in site editor.

Props get_dave, spacedmonkey, audrasjb, ramonopoly.
Fixes #58556.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55566 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 06:38:26 +00:00
isabel_brison
f3f4f7dd96 Editor: fix post edit navigation link.
Adds a custom link for navigation post types.

Props get_dave, spacedmonkey, ramonopoly.
Fixes #58589.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55565 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 06:02:22 +00:00
isabel_brison
161b471f0b Editor: add navigation fallback.
Creates a fallback menu for the Navigation block including an API endpoint to retrieve it.

Props get_dave, spacedmonkey, kebbet, flixos90, mikeschroder, ramonopoly, audrasjb.
Fixes 58557.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55564 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 05:54:19 +00:00
isabel_brison
54c97ab015 REST API: ignore empty templates.
Ignore empty templates when using the `/lookup` endpoint in the `WP_REST_Templates_Controller` class.

Props ramonopoly, jorgefilipecosta, spacedmonkey, youknowriad, mukesh27.
Fixes #58615.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55563 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 05:36:22 +00:00
Dion Hulse
6619429fc3 Upgrade/Install: Pass the full database version string to WordPress.org for parsing.
This aims to make the provided statistical data more complete, by correctly identifying the version for a wider selection of database types and servers.

Props mukesh27, costdev, spacedmonkey, johnbillion.
Fixes #58584.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55562 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 05:11:27 +00:00
Joe McGill
e4c45c53b7 Revert unnecessary changes to .jshintrc files.
This reverts changes to the .jshintrc file that were included in r56033.

Props TobiasBg.
See #12009.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55561 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 01:29:22 +00:00
Peter Wilson
9f7555f5d5 Editor: Update block-serialization-default-parser package for WP 6.3 Beta 1.
Update the `@wordpress/block-serialization-default-parser` to 4.35.1 for WordPress 6.3 Beta 1. These changes split the following classes in to their own files in order to match the WordPress PHP coding standards:

* `WP_Block_Parser_Block`
* `WP_Block_Parser_Frame`
* `WP_Block_Parser`

These classes were previously all included in the `src/wp-includes/class-wp-block-parser.php` file. In order to maintain backward compatibly for developers requiring the file directly, the relocated classes are replaced with `require_once` calls in the original file.

In order to retain the commit history of the new files, they have been created using the `svn copy` command.

Props aristath, rajanpanchal2028, jrf, SergeyBiryukov, costdev, manfcarlo, spacedmonkey, mukesh27, isabel_brison, dd32.
Fixes #57832.
See #58623.


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


git-svn-id: http://core.svn.wordpress.org/trunk@55560 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 00:45:38 +00:00
isabel_brison
7696e271f8 Editor: add iframe around post editor.
Adds an iframe around the post editor only if all registered blocks are v3 or higher.

Props ellatrix, mukesh27, costdev, oandregal, ramonopoly.
Fixes #58626.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55559 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-27 00:23:23 +00:00
isabel_brison
4e0fbeb04c Editor: add box shadow support to blocks.
Adds the ability for blocks to declare support for CSS box-shadow and processing of necessary styles.

Props madhudollu, sabernhardt, ramonopoly, spacedmonkey, mukesh27.
Fixes #58590.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55558 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-26 23:44:29 +00:00
audrasjb
1d66cc61ef Twenty Twenty: Remove various unused function parameters and variables.
This removes the `$n` variable from `TwentyTwenty_Walker_Page` class `start_el()` function, removes an unused global and the last parameter from 
`twentytwenty_filter_wp_list_pages_item_classes()` and `twentytwenty_add_sub_toggles_to_main_menu()`.

Props upadalavipul, sabernhardt, mukesh27.
Fixes #57371.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55557 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-26 21:33:23 +00:00
spacedmonkey
6adb9be81f Editor: Register core block styles in one place.
Register all core blocks in a new function called `register_core_block_style_handles`. This mirrors the function `wp_default_styles` where all core styles are registered in one place. This improves block registration performance, as it avoids expensive file lookups, like realpath in `register_block_style_handle`. The new function `register_core_block_style_handles` uses `glob` to get all css files in the blocks directory. This glob is cached in a transient to save lookups on subsequent requests. The function `register_block_style_handle` now checks to see if the style handle is already registered before trying to register it again. 

Props mukesh27, westonruter, flixos90, joemcgill, spacedmonkey.
Fixes #58528.
Built from https://develop.svn.wordpress.org/trunk@56044


git-svn-id: http://core.svn.wordpress.org/trunk@55556 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-26 21:17:22 +00:00
audrasjb
d61ec19da0 Posts, Post Types: Add a $previous_status parameter to wp_trash_post() related hooks.
This adds a `$previous_status` parameter to the `pre_trash_post`, `wp_trash_post`, and `trashed_post` hooks.

Props mujuonly, mukesh27, nihar007, dhruvishah2203, SergeyBiryukov, costdev, hugod, audrasjb, oglekler.
Fixes #58392.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55555 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-26 20:57:22 +00:00
Felix Arntz
13a38d84f9 General: Introduce WP_DEVELOPMENT_MODE constant to signify context-specific development mode.
In recent releases, WordPress core added several instances of cache usage around specific files. While those caches are safe to use in a production context, in development certain nuances apply for whether or not those caches make sense to use. Initially, `WP_DEBUG` was used as a temporary workaround, but it was clear that a more granular method to signify a specific development mode was required: For example, caches around `theme.json` should be disabled when working on a theme as otherwise it would disrupt the theme developer's workflow, but when working on a plugin or WordPress core, this consideration does not apply.

This changeset introduces a `WP_DEVELOPMENT_MODE` constant which, for now, can be set to either "core", "plugin", "theme", or an empty string, the latter of which means no development mode, which is also the default. A new function `wp_get_development_mode()` is the recommended way to retrieve that configuration value.

With the new function available, this changeset replaces all existing instances of the aforementioned `WP_DEBUG` workaround to use `wp_get_development_mode()` with a more specific check.

Props azaozz, sergeybiryukov, peterwilsoncc, spacedmonkey.
Fixes #57487.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55554 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-26 19:57:25 +00:00
audrasjb
ddd50e3782 Editor: Add a description key to theme.json style variations.
This changeset adds `description` to `VALID_TOP_LEVEL_KEYS` in `class-wp-theme-json.php` to allow for accessibility improvements. The description is added to 
the ARIA label of the style variation container. If the style variation has no description, only the title is used. One purpose is to use the text description 
to improve the style variation preview in the WordPress.org theme directory.

See https://github.com/WordPress/gutenberg/pull/45242.

Props ramonopoly, poena.
Fixes #58614.

 --Cette ligne, et les suivantes ci-dessous, seront ignorées--

M    trunk/src/wp-includes/class-wp-theme-json.php

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


git-svn-id: http://core.svn.wordpress.org/trunk@55553 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-26 18:15:22 +00:00
audrasjb
6b47f4d436 Twenty Twenty: Revert [56034] pending further investigation.
This changeset reverts [56034] as the Test Default Themes & Create ZIPs workflow is failing.

Follow-up to [56034], [56039].

See #58396.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55552 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-26 17:29:21 +00:00
audrasjb
abcb0a0f35 Twenty Twenty: Fix an RTL style issue leading to failed Test Default Themes & Create ZIPs workflow.
Follow-up to [56034].

Props sabernhardt, davidbaumwald.
Fixes #58396.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55551 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-26 17:01:47 +00:00
Weston Ruter
33f71c4662 Editor: Use static closures to avoid memory leaks.
Backports Gutenberg changes from https://github.com/WordPress/gutenberg/pull/50723.

Amends [55822].

Fixes #58323.
Props westonruter, spacedmonkey, flixos90. 

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


git-svn-id: http://core.svn.wordpress.org/trunk@55550 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-26 17:00:25 +00:00
Felix Arntz
5ca27acd20 Media: Automatically add fetchpriority="high" to hero image to improve load time performance.
This changeset adds support for the `fetchpriority` attribute, which is typically added to a single image in each HTML response with a value of "high". This enhances load time performance (also Largest Contentful Paint, or LCP) by telling the browser to prioritize this image for downloading even before the layout of the page has been computed. In lab tests, this has shown to improve LCP performance by ~10% on average.

Specifically, `fetchpriority="high"` is added to the first image that satisfies all of the following conditions:
* The image is not lazy-loaded, i.e. does not have `loading="lazy"`.
* The image does not already have a (conflicting) `fetchpriority` attribute.
* The size of of the image (i.e. width * height) is greater than 50,000 squarepixels.

While these heuristics are based on several field analyses, there will always be room for optimization. Sites can customize the squarepixel threshold using a new filter `wp_min_priority_img_pixels` which should return an integer for the value.

Since the logic for adding `fetchpriority="high"` is heavily intertwined with the logic for adding `loading="lazy"`, yet the features should work decoupled from each other, the majority of code changes in this changeset is refactoring of the existing lazy-loading logic to be reusable. For this purpose, a new function `wp_get_loading_optimization_attributes()` has been introduced which returns an associative array of performance-relevant attributes for a given HTML element. This function replaces `wp_get_loading_attr_default()`, which has been deprecated. As another result of that change, a new function `wp_img_tag_add_loading_optimization_attrs()` replaces the more specific `wp_img_tag_add_loading_attr()`, which has been deprecated as well.

See https://make.wordpress.org/core/2023/05/02/proposal-for-enhancing-lcp-image-performance-with-fetchpriority/ for the original proposal and additional context.

Props thekt12, joemcgill, spacedmonkey, mukesh27, costdev, 10upsimon.
Fixes #58235.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55549 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-26 16:17:23 +00:00
audrasjb
e8d4e05333 Twenty Nineteen: Ensure Separator block supports theme colors in editor.
This fixes a bug in the Editor, where the Separator block did not support background color selections other than white and light gray.

Props nidhidhandhukiya, sabernhardt, shailu25, harshgajipara, mukesh27, costdev, zunaid321.
Fixes #58558.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55548 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-26 15:50:23 +00:00
Bernhard Reiter
af31e18ab4 Tools: Fix unresolvable conflicts computation in package sync script.
Computation of unresolvable version conflicts in the Gutenberg package
sync script had a few issues that were causing it to fail, among them
two type errors in the destructuring of function arguments.
Furthermore, de-duplication of required package versions was missing,
leading to false positives being reported, when multiple instances of
the same package all required the same version.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55547 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-26 15:43:30 +00:00
audrasjb
5914cb8939 Twenty Twenty: Fix left margin in Latest Posts & Latest Comments blocks.
This fixes a bug where the `margin-left: auto` property was being overwritten to `margin-left: 0` causing an inconsistency in the alignment of these blocks.

Props nkeller15, nadimcse, sabernhardt, tb1909, poena.
Fixes #58396.



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


git-svn-id: http://core.svn.wordpress.org/trunk@55546 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-26 15:06:25 +00:00
Joe McGill
53e7cc3ddf Script Loader: Add support for HTML 5 "async" and "defer" attributes.
This allows developers to register scripts with an intended loading strategy by changing the `$in_footer` parameter of `wp_register_script` and `wp_enqueue_script` to an array that accepts both an `in_footer` and `strategy` argument. If present, the loading strategy attribute will be added to the script tag when that script is printed to the page as long as it is not a dependency of any blocking scripts, including any inline scripts attached to the script or any of its dependents.

Props 10upsimon, thekt12, westonruter, costdev, flixos90, spacedmonkey, adamsilverstein, azaozz, mukeshpanchal27, mor10, scep, wpnook, vanaf1979, Otto42.
Fixes #12009.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55545 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-26 13:42:23 +00:00
Sergey Biryukov
28e2911898 Code Modernization: Use str_contains() in a few more places.
`str_contains()` was introduced in PHP 8.0 to perform a case-sensitive check indicating if the string to search in (haystack) contains the given substring (needle).

WordPress core includes a polyfill for `str_contains()` on PHP < 8.0 as of WordPress 5.9.

This commit replaces `false !== strpos( ... )` with `str_contains()` in core files, making the code more readable and consistent, as well as better aligned with modern development practices.

Follow-up to [55988], [56021], [56031].

See #58206.
Built from https://develop.svn.wordpress.org/trunk@56032


git-svn-id: http://core.svn.wordpress.org/trunk@55544 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-26 10:44:23 +00:00
Sergey Biryukov
ad16732d27 Code Modernization: Use str_contains() in a few more places.
`str_contains()` was introduced in PHP 8.0 to perform a case-sensitive check indicating if the string to search in (haystack) contains the given substring (needle).

WordPress core includes a polyfill for `str_contains()` on PHP < 8.0 as of WordPress 5.9.

This commit replaces `false !== strpos( ... )` with `str_contains()` in core files, making the code more readable and consistent, as well as better aligned with modern development practices.

Follow-up to [55988], [56021].

See #58206.
Built from https://develop.svn.wordpress.org/trunk@56031


git-svn-id: http://core.svn.wordpress.org/trunk@55543 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-26 10:17:25 +00:00
isabel_brison
69f9f902aa Editor: rename reusable blocks to patterns.
Renames the Reusable blocks to Patterns and adds an option to convert a block or collection of blocks to a non-synced Pattern.

Props glendaviesnz, ramonopoly, peterwilsoncc, timothyblynjacobs, flixos90.
Fixes #58577.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55542 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-26 08:57:25 +00:00
isabel_brison
8a03512912 Editor: fix site editor layout bug.
Removes additional wrapper introduced in [56025], which interfered with the site editor flex layout.

Props ramonopoly, kevin940726, joedolson.
Fixes 56228.

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


git-svn-id: http://core.svn.wordpress.org/trunk@55541 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-26 04:48:24 +00:00