Commit Graph
13920 Commits
Author SHA1 Message Date
zieladam ac4f768222 HTML API: Track spans of text with (offset, length) instead of (start, end).
Updates the internal representation of the text span coordinates. The mixture of (offset, length) and (start, end) coordinates becomes confusing, this commit replaces it with a (offset, length) pair. There should be no functional or behavioral changes in this patch. For the internal helper classes this patch introduces breaking changes, but those classes are marked private and should not be used outside of the HTML API itself.

Props dmsnell.
Fixes #59993.



git-svn-id: https://develop.svn.wordpress.org/trunk@57179 602fd350-edb4-49c9-b593-d223f7449a82
2023-12-10 13:17:29 +00:00
Sergey Biryukov 9bfb30462a REST API: Pass correct number of arguments to the comment_text filter.
This ensures that `WP_REST_Comments_Controller::prepare_item_for_response()` passes three arguments to the `comment_text` filter, for consistency with all the other instances in core.

Follow-up to [15957], [16357], [25555], [38832], [40664].

Props sjregan, SergeyBiryukov.
Fixes #58238.

git-svn-id: https://develop.svn.wordpress.org/trunk@57176 602fd350-edb4-49c9-b593-d223f7449a82
2023-12-09 22:11:45 +00:00
Jonathan Desrosiers e1265a3732 Database: Raise the minimum required version of MySQL.
This raises the minimum version of MySQL required to run WordPress from 5.0 to 5.5.5.

MySQL 5.0 and 5.1 have long been unsupported and both reached end of life over 10 years ago. Combined usage for both versions sits at 0.4% of all WordPress sites.

Because 5.5 sits at just under 15% usage, 5.5 cannot be trimmed off at this time.

Of all sites running 5.5.x, 85% are running 5.5.5, and 100% are running 5.5.5 or higher. This makes it the logical landing spot.

Props johnbillion, sergeybiryukov, jorbin.
Fixes #60036.

git-svn-id: https://develop.svn.wordpress.org/trunk@57173 602fd350-edb4-49c9-b593-d223f7449a82
2023-12-08 14:11:11 +00:00
Isabel Brison 525cd532bf Themes: fix documentation link.
Removes a period from an inline comment of `wp_block_theme_activate_nonce` that broke a link in the comment.

Props stevenlinx, mukesh27.
Fixes #60034.


git-svn-id: https://develop.svn.wordpress.org/trunk@57171 602fd350-edb4-49c9-b593-d223f7449a82
2023-12-08 06:30:02 +00:00
Felix Arntz d859cbe790 General: Avoid early initialization of variable in get_bloginfo().
This is a very minor, yet simple performance optimization in a commonly called function, avoiding unnecessary initialization of the `$url` variable when it may not be needed. The conditional is simple enough to not use a variable altogether.

Props Cybr, swissspidy.
Fixes #59450.


git-svn-id: https://develop.svn.wordpress.org/trunk@57170 602fd350-edb4-49c9-b593-d223f7449a82
2023-12-07 22:55:28 +00:00
Joe McGill 52854e2796 HTML-API: Prevent unintended behavior when WP_HTML_Token is unserialized.
Props dmsnell, peterwilsoncc, dd32, xknown, rawrly, johnbillion, barry, jeffpaul, vortfu, isabel_brison, mikeschroder, jorbin.


git-svn-id: https://develop.svn.wordpress.org/trunk@57163 602fd350-edb4-49c9-b593-d223f7449a82
2023-12-06 16:03:48 +00:00
Sergey Biryukov 0300f8869e Docs: Fix typo in Gettext_Translations::parenthesize_plural_exression() description.
Follow-up to [10584], [12079], [41722], [57161].

Props tohincoderex.
See #59347.

git-svn-id: https://develop.svn.wordpress.org/trunk@57162 602fd350-edb4-49c9-b593-d223f7449a82
2023-12-06 11:52:35 +00:00
Sergey Biryukov 68ded6f3aa I18N: Deprecate Gettext_Translations::parenthesize_plural_exression().
Aside from having a typo in the name, the method is unused by core as of WordPress 4.9.

Follow-up to [10584], [12079], [41722].

Props tohincoderex, jrf.
Fixes #59347.

git-svn-id: https://develop.svn.wordpress.org/trunk@57161 602fd350-edb4-49c9-b593-d223f7449a82
2023-12-06 11:48:04 +00:00
bernhard-reiter c44432b338 Block Hooks: Store ignored hooked blocks metadata in anchor block.
The biggest tradeoff that was made in the implementation of Block Hooks was that they were limited to layouts (i.e. templates, template parts, and patterns) that ''didn't have any user modifications'' (see #59313 for the reason). This changeset is a preparatory step to remove this limitation, so they’ll eventually also work with user-modified layouts.

The crucial problem to solve is how to acknowledge that a user has opted to remove or persist a hooked block, so that the auto-insertion mechanism won't run again and inject an extraneous hooked block on the frontend when none is solicited.

This is achieved by storing all known blocks hooked to a given anchor block in the `metadata` attribute on that anchor block; specifically in a field called `ignoredHookedBlocks` inside of the `metadata`. Hooked blocks are only rendered on the frontend if they're absent from that field; OTOH, they're injected into that field (via the REST API) when first loaded in the editor.

This simple logic guarantees that once a user modifies a given layout, those changes are respected on the frontend; yet if a plugin that includes a hooked block is activated after those modifications have taken place, the hooked block will be rendered on the frontend. This new technique supplants the one previously used (i.e. rendering hooked blocks on the frontend only if a layout doesn't have any modifications) in a rather direct way.

Note that this changeset only introduces the new metadata field and relevant logic; it does not yet enable hooked block insertion into modified layouts. That will be done in a subsequent step (see #59646).

Props gziolo.
Closes #60008.

git-svn-id: https://develop.svn.wordpress.org/trunk@57157 602fd350-edb4-49c9-b593-d223f7449a82
2023-12-04 20:24:33 +00:00
Felix Arntz 57a5164cbd Themes: Clean up inactive themes' theme mods from being autoloaded as part of upcoming 6.5 upgrade routine.
Alongside [57153], this reduces unnecessarily autoloaded data from inactive themes, which can contribute to slow database performance as part of excessive autoloading. This changeset specifically resolves the issue for existing sites.

Props mukesh27, joemcgill, swissspidy, westonruter, flixos90.
Fixes #59975.
See #39537.


git-svn-id: https://develop.svn.wordpress.org/trunk@57155 602fd350-edb4-49c9-b593-d223f7449a82
2023-12-04 19:49:18 +00:00
Felix Arntz 7ce1281349 Themes: Avoid autoloading the previous theme's theme mods when switching to another theme.
This reduces unnecessarily autoloaded data from inactive themes, which can contribute to slow database performance as part of excessive autoloading.

Props mukesh27, rajinsharwar, igmoweb, joemcgill, swissspidy, westonruter, flixos90.
Fixes #59537.
See #59975.


git-svn-id: https://develop.svn.wordpress.org/trunk@57153 602fd350-edb4-49c9-b593-d223f7449a82
2023-12-04 19:36:27 +00:00
Sergey Biryukov 96a589bf0d Docs: Add missing argument type for supports in register_post_type().
If set to `false`, no feature support is registered for the post type.

Follow-up to [12751], [20734], [29091], [37883].

Props jeremyfelt, swissspidy.
Fixes #59690.

git-svn-id: https://develop.svn.wordpress.org/trunk@57150 602fd350-edb4-49c9-b593-d223f7449a82
2023-12-03 19:59:10 +00:00
Tonya Mork 4d19f6c23f REST API: Restore site logo and icon in index.
Restores setting the site's logo, icon, and wp-admin's back button image (which defaults to W).

Prior to [56566], the site logo and icon were unconditionally added to the index. [56566] changed this by conditionally adding them if either the `_links` or `_embedded` fields were included. However, these fields are not included when using the Site Logo block, as it uses the `site_logo`, `site_icon`, and `site_icon_url` fields instead.

This changeset restores the functionality by checking specifically for the `site_*` fields when neither of the `_links` or `_embedded` fields are present.

Follow up to [56566].

Props antonvlasenko, hellofromTonya, ironprogrammer, priethor, wildworks.
Fixes #59935.

git-svn-id: https://develop.svn.wordpress.org/trunk@57147 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-30 14:52:52 +00:00
John Blackbourn 5f2f5f60ee Docs: Correct the documented type for the block_hooks argument when registering a block type.
This argument is an associative array of strings, not an array of arrays.

See #59313, 59651


git-svn-id: https://develop.svn.wordpress.org/trunk@57140 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-27 20:18:39 +00:00
Sergey Biryukov 6a891c7365 Coding Standards: Reorder conditionals in is_random_header_image().
This aims to slightly improve performance by checking the faster `empty()` language construct first and potentially avoiding an unnecessary function call. Additionally, this better matches a similar conditional a few lines below.

Follow-up to [17757], [17770].

Props Cybr.
See #59650.

git-svn-id: https://develop.svn.wordpress.org/trunk@57139 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-27 09:15:56 +00:00
Sergey Biryukov 653b6448f5 External Libraries: Upgrade PHPMailer to version 6.9.1.
This is a maintenance and feature release, adding support for the official release of PHP 8.3, methods for removing and replacing custom headers, XCLIENT support, and links to a new way of implementing XOAUTH2 authentication.

The only change likely to have any impact on existing code is that PHPMailer previously attempted to use opportunistic STARTTLS encryption when connecting to `localhost`, which was unlikely to work. The workaround required setting `SMTPAutoTLS = false`, but that's no longer required. You may still need to use this setting when connecting to literal IPs.

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

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

Props jrf, Synchro.
Fixes #59966.

git-svn-id: https://develop.svn.wordpress.org/trunk@57137 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-26 19:25:50 +00:00
Pascal Birchler bc4eb46b55 I18N: Improve translator comments for strings containing date formats.
Adds translator comments where absent and changes code style so that
comments are attached to the right strings during string extraction.

Props NekoJonez.
Fixes #59947

git-svn-id: https://develop.svn.wordpress.org/trunk@57136 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-26 16:41:34 +00:00
Sergey Biryukov cd5cf79e54 I18N: Move code out of translatable strings in a few error messages.
Follow-up to [54272], [56101].

Props rabmalin, Presskopp.
Fixes #59563.

git-svn-id: https://develop.svn.wordpress.org/trunk@57135 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-25 21:17:28 +00:00
Sergey Biryukov 647d59302d Text Changes: Update mentions of “web site” to “website” for consistency.
While “web site” was the original spelling, this variant has become rarely used, and “website” is now the standard spelling, already used throughout most of the WordPress core.

Reference: [https://en.wikipedia.org/wiki/Website Wikipedia: Website].

Props LiamMcArthur, cafenoirdesign, sabbirshouvo, sabernhardt, ironprogrammer, mukesh27.
Fixes #59853, #54276.

git-svn-id: https://develop.svn.wordpress.org/trunk@57131 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-22 17:42:11 +00:00
Sergey Biryukov 2452701c32 General: Rename wp_json_encode() parameters for parity with PHP Core.
`wp_json_encode()` is a wrapper for the PHP native `json_encode()` function with some extra safety checks.

This commit renames the `$data` parameter in the `wp_json_encode()` function and associated functions to `$value`, and the `$options` parameter to `$flags` for parity with the parameter names used in PHP Core.

Reference: [https://www.php.net/manual/en/function.json-encode.php PHP Manual: json_encode()].

Follow-up to [30055].

Props jrf, hellofromTonya.
Fixes #59630.

git-svn-id: https://develop.svn.wordpress.org/trunk@57130 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-21 00:23:01 +00:00
Joe McGill b6bf3553d9 Themes: Remove memoization from stylesheet and theme directories.
This fixes bugs introduced in [56635] whereby the template or stylesheet path could be memoized incorrectly if `get_template_directory()` or `get_stylesheet_directory()` were called before the theme has been fully initialized.

Props partyfrikadelle, coreyw, kdowns, rebasaurus, meta4, flixos90, mukesh27, joemcgill.
Fixes #59847.


git-svn-id: https://develop.svn.wordpress.org/trunk@57129 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-20 22:27:17 +00:00
Sergey Biryukov 1427d25716 Code Modernization: Use str_starts_with() in WP_REST_Server::serve_request().
Follow-up to [55703], [56834].

See #59650.

git-svn-id: https://develop.svn.wordpress.org/trunk@57126 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-18 20:44:32 +00:00
Sergey Biryukov 9857a80406 Docs: Fix typo in get_image_tag() DocBlock.
Follow-up to [54173].

Props kitchin.
See #55646, #59651.

git-svn-id: https://develop.svn.wordpress.org/trunk@57121 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-17 15:31:52 +00:00
Sergey Biryukov 7c492d36e0 Docs: Improve some DocBlocks and inline comments per the documentation standards.
Follow-up to [56834], [56836], [56837], [56838].

Props kebbet, costdev, mukesh27, SergeyBiryukov.
See #59651.

git-svn-id: https://develop.svn.wordpress.org/trunk@57120 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-17 13:27:23 +00:00
Bernie Reiter b892a41637 Block Hooks: Expose serialized template content to filter.
The recently introduced Block Hooks API exposes a filter (`hooked_block_types`) which is given a `$context` argument, among others. If the filter is called on a block that's part of a template or template part, `$context` is set to the corresponding `WP_Block_Template` object.

However, that object's `$content` property is currently ''not'' exposed to the filter. This changeset amends that shortcoming.

This is useful for callbacks that might want to detect the presence of a serialized block instance (or potentially in the future utilize the HTML API) to restrict where the block is injected (before the template is rendered).

Addressing this also achieves parity with the structure of `$context` when it represents a pattern (where pattern serialized content is present).

Props nerrad.
Fixes #59882.

git-svn-id: https://develop.svn.wordpress.org/trunk@57118 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-17 07:08:47 +00:00
Bernie Reiter f2df7d8b7c HTML API: Fix typo in documentation example.
The example code in the PHPDoc comment for the HTML Tag Processor class
previously showed calling `next_tag()` with an array containing a `class`
key, which should have been `class_name`. This patch fixes this by using
the appropriate `class_name` key.

Props dmsnell, gaambo, crstauf, atachibana, audrasjb, krupalpanchal.
Fixes #59891.

git-svn-id: https://develop.svn.wordpress.org/trunk@57116 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-17 06:38:33 +00:00
Bernie Reiter 3d06660c63 HTML API: Add support for containers elements, including ARTICLE.
There are a handful of elements which behave similarly and are generically container elements. These are the following elements:

    ADDRESS, ARTICLE, ASIDE, BLOCKQUOTE, CENTER, DETAILS, DIALOG, DIR,
    DL, DIV, FIELDSET, FIGCAPTION, FIGURE, FOOTER, HEADER, HGROUP, MAIN,
    MENU, NAV, SEARCH, SECTION, SUMMARY

This patch adds support to the HTML Processor for handling these elements. They do not require any additional logic in the rest of the class, and carry no specific semantic rules for parsing beyond what is listed in their group in the IN BODY section of the HTML5 specification.

Props dmsnell.
Fixes #59914.

git-svn-id: https://develop.svn.wordpress.org/trunk@57115 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-17 06:11:31 +00:00
Sergey Biryukov 6456e6ea8b Docs: Use typed array notation for the $options parameter in some new functions.
Follow-up to [56445], [56508], [57013].

Props tmatsuur.
Fixes #59904.

git-svn-id: https://develop.svn.wordpress.org/trunk@57110 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-14 12:42:52 +00:00
Isabel Brison 7304f61f98 Editor: update npm packages for 6.4.2.
Package updates with bug fixes related to patterns, Query look interactivity, design tools UI and accessibility.

Props mikachan, jorbin, kebbet, artemiosans, talldanwp, ramonopoly, alexstine, andrewserong, mamaduka, cbravobernal, ajlende, luisherranz.
See #59828.


git-svn-id: https://develop.svn.wordpress.org/trunk@57109 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-14 00:09:17 +00:00
Sergey Biryukov cfecc5cde5 Docs: Replace miscellaneous incorrect PHPDoc tags.
* `@contrib` is not a valid tag.
* `@origin` is not a valid tag.
* `@ref` is not a valid tag.
* `@blessed` is not a valid tag and doesn't convey any meaningful information.
* `@issue` is not a valid tag.

Reference: [https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/#phpdoc-tags PHP Documentation Standards: PHPDoc Tags].

Follow-up to [8852], [34754], [38832], [43808].

Props jrf.
See #59651.

git-svn-id: https://develop.svn.wordpress.org/trunk@57108 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-13 11:11:54 +00:00
Sergey Biryukov 152a1ecd81 Docs: Include 'weekly' as a valid value in wp_schedule_event() description.
Follow-up to [47062].

Props crstauf, pacicio.
Fixes #59888.

git-svn-id: https://develop.svn.wordpress.org/trunk@57106 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-11 09:26:44 +00:00
Joe McGill 155017ae7b Themes: Correct docblock for _register_theme_block_patterns.
This updates the '@since 6.4.0' annotation in `_register_theme_block_patterns` to reference `WP_Theme::get_block_patterns` instead of `_wp_get_block_patterns`, which was changed in [56978].

Props audrasjb, mukesh27, joemcgill.
Fixes #59869.


git-svn-id: https://develop.svn.wordpress.org/trunk@57102 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-10 15:10:35 +00:00
Tonya Mork 8c2c762e23 Database: Reinstate wpdb::$use_mysqli property.
Partial revert of [56475] to reinstate the private `wpdb::$use_mysqli` property and set to its default to `true`. This private property was / is accessible through the magic methods. Though Core's usage of this property was removed by [56475], plugins are using the property. Reinstating it resolves the BC break.

Follow up to [56475].

Props jason_the_adams, joemcgill, johnbillion, johnjamesjacoby, jrf, rajinsharwar, renehermi.
Fixes #59846.

git-svn-id: https://develop.svn.wordpress.org/trunk@57089 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-08 20:31:34 +00:00
Jonathan Desrosiers 2130a90861 External Libraries: Update Requests to 2.0.9.
This updates the Requests library from version `2.0.8` to `2.0.9`. This is a hotfix release.

Props jorbin, hellofromTonya, desrosj, barry, cenkdemir, nexflaszlo, schlessera, jrf, Clorith, tomsommer, azaozz, pbiron, afragen, howdy_mcgee.
Fixes #59842.

git-svn-id: https://develop.svn.wordpress.org/trunk@57086 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-08 19:46:00 +00:00
Sergey Biryukov 4e4fdcb949 Docs: Use proper case for @todo tags.
The correct tag is `@todo`, not `@TODO` or `@todo:` (note the trailing colon).

Reference: [https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/#phpdoc-tags PHP Documentation Standards: PHPDoc tags].

Follow-up to [55203], [56274], [56565], [56698].

Props jrf.
See #59651.

git-svn-id: https://develop.svn.wordpress.org/trunk@57077 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-07 00:12:24 +00:00
Bernie Reiter 2a93cafb52 Block Types: Add metadata global attribute.
Add a new global attribute (i.e. an attribute that can be added to all and any blocks) called `metadata`. This is required for use cases such as allowing the user to assign custom names to blocks, or for making Block Hooks work with user-modified templates/parts/patterns (#59646).

Props Mamaduka, gziolo, get_dave.
Fixes #59797.

git-svn-id: https://develop.svn.wordpress.org/trunk@57068 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-06 14:45:28 +00:00
Tonya Mork afe96d58e8 Blocks: Document Block Hooks functions as private.
Documents the 4 new 6.4 Block Hooks global functions as private and for Core-only internal usage:

* `make_before_block_visitor()`
* `make_after_block_visitor()`
* `traverse_and_serialize_block()`
* `traverse_and_serialize_blocks()`

This is being done as the architectural design of these new functions may change in the next cycle. Further denoting them as private / Core only can help to avoid extender churn if any of these functions are deprecated.

Follow up to [56649], [56620].

Props azaozz, hellofromTonya, bernhard-reiter, gziolo, mikeschroder.
Fixes #59783.
See #59313.

git-svn-id: https://develop.svn.wordpress.org/trunk@57066 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-06 13:35:28 +00:00
Sergey Biryukov f84e228196 Docs: Replace incorrect @private tags.
The `@private` tag does not exist and is not supported. To indicate that something is private when in the global namespace, `@access private` should be used instead.

Reference: [https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/#phpdoc-tags PHP Documentation Standards: PHPDoc tags].

Props jrf.
See #59651.

git-svn-id: https://develop.svn.wordpress.org/trunk@57065 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-06 09:25:02 +00:00
Tonya Mork f9429d5f93 Editor: Update of npm packages after 6.4 RC3.
This update includes the following fixes reported after RC3:

* Regression: [https://github.com/WordPress/gutenberg/pull/55858 Fixes patterns not working anymore as a post template for custom post types].

Scenario: When creating a new post for any custom post type registered with its "template" argument set to a pattern.

For this scenario, the pattern template no longer renders in the post editor or the frontend with 6.4, whereas it did render properly in 6.3.2.

This package update resolves the console error raised:
{{{
Uncaught TypeError: select(...).getCurrentTheme() is undefined 
}}}
which restores the rendering of the pattern template.

* Regression: [https://github.com/WordPress/gutenberg/pull/55859  Fixes positioning and styles for the new lightbox's trigger] introduced in 6.4.

Follow up to [57048], [57034], [56987], [56961], [56849], [56818], [56816].

Props renathoc, rajinsharwar, richtabor, joen, mikachan, hellofromTonya.
Fixes #59411.

git-svn-id: https://develop.svn.wordpress.org/trunk@57063 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-05 17:13:48 +00:00
Sergey Biryukov 0ac7b38407 Coding Standards: Remove unnecessary ignore annotations in dbDelta().
It is perfectly possible to write a commented regex with layout for readability by using the `x` modifier.

As per the manual:
> x (`PCRE_EXTENDED`)
>
> If this modifier is set, whitespace data characters in the pattern are totally ignored except when escaped or inside a character class, and characters between an unescaped # outside a character class and the next newline character, inclusive, are also ignored. This is equivalent to Perl's /x modifier, and makes it possible to include commentary inside complicated patterns.
>
> Note, however, that this applies only to data characters. Whitespace characters may never appear within special character sequences in a pattern, for example within the sequence (?( which introduces a conditional subpattern.

Reference: [https://www.php.net/manual/en/reference.pcre.pattern.modifiers.php PHP Manual: Pattern Modifiers].

This commit rewrites these two regexes to use the `x` modifier and gets rid of the unnecessary `phpcs:disable` comments.

The tests in the `tests/phpunit/tests/db/dbDelta.php` file cover this change.

Follow-up to [42249].

Props jrf.
See #59650.

git-svn-id: https://develop.svn.wordpress.org/trunk@57061 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-04 00:24:33 +00:00
Sergey Biryukov 13192d385f Coding Standards: Remove unnecessary ignore annotation in wp_kses_hair_parse().
It is perfectly possible to write a commented regex with layout for readability by using the `x` modifier.

As per the manual:
> x (`PCRE_EXTENDED`)
>
> If this modifier is set, whitespace data characters in the pattern are totally ignored except when escaped or inside a character class, and characters between an unescaped # outside a character class and the next newline character, inclusive, are also ignored. This is equivalent to Perl's /x modifier, and makes it possible to include commentary inside complicated patterns.
>
> Note, however, that this applies only to data characters. Whitespace characters may never appear within special character sequences in a pattern, for example within the sequence (?( which introduces a conditional subpattern.

Reference: [https://www.php.net/manual/en/reference.pcre.pattern.modifiers.php PHP Manual: Pattern Modifiers].

This commit rewrites these two regexes to use the `x` modifier and gets rid of the unnecessary `phpcs:disable` comments.

The tests in the `tests/phpunit/tests/db/dbDelta.php` file cover this change.

Follow-up to [42249].

Props jrf.
See #59650.

git-svn-id: https://develop.svn.wordpress.org/trunk@57056 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-03 15:31:51 +00:00
Sergey Biryukov 75008892aa 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 [56796], [56803], [56838], [56839], [56985].

See #59650.

git-svn-id: https://develop.svn.wordpress.org/trunk@57053 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-02 00:02:36 +00:00
Tonya Mork 126d780de9 Editor: 2nd update of npm packages for 6.4 RC3.
This second update for RC3 includes the following fixes:

* [https://github.com/WordPress/gutenberg/pull/55724 Update label for lightbox editor UI] - string change.
* [https://github.com/WordPress/gutenberg/pull/55720 Query: Require queryId for enhanced pagination to prevent PHP notices] and warnings.
* [https://github.com/WordPress/gutenberg/pull/55714 Query block enhanced pagination: Detect inner plugin blocks during render] - which avoids turning off enhanced pagination in TT4, includes string changes.
* [https://github.com/WordPress/gutenberg/pull/55309 Query Loop block: Reuse existing screen-reader-text CSS class for the enhanced pagination aria-live region].

Follow up to [57034], [56987], [56961], [56849], [56818], [56816].

Props afercia, aristath, artemiosans, czapla, darerodz, glendaviesnz, hellofromTonya, jameskoster, joen, luisherranz, mikachan, ocean90, peterwilsoncc, ramonopoly, rajinsharwar, swissspidy.
Fixes #59411.

git-svn-id: https://develop.svn.wordpress.org/trunk@57048 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-01 17:46:03 +00:00
John Blackbourn 5333ea1f91 Docs: Correct some docblock formatting errors.
Fixes #59784

See #12009, #52710


git-svn-id: https://develop.svn.wordpress.org/trunk@57046 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-01 15:08:10 +00:00
Tonya Mork f6905ebced Taxonomy: Set "public" to "false" for user pattern categories.
Changes the `'wp_pattern_category'` taxonomy's `'public'` argument to `false`.

Follow-up to [56642].

Props vrajadas, glendaviesnz, hellofromTonya, ramonopoly.
Fixes #59569.

git-svn-id: https://develop.svn.wordpress.org/trunk@57044 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-01 14:48:50 +00:00
Sergey Biryukov 01c842a25f Docs: Correct the type for optional parameters in a few media functions.
This affects the `$image_src` and/or `$image_meta` parameters in:
* `wp_get_attachment_image_srcset()`
* `wp_get_attachment_image_sizes()`
* `wp_calculate_image_sizes()`

Follow-up to [35412], [35419], [35481], [35498], [35569], [35672].

Props dilipbheda.
Fixes #59745.

git-svn-id: https://develop.svn.wordpress.org/trunk@57042 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-01 11:49:31 +00:00
Bernie Reiter f58f64587b Block Hooks: Allow traversal callbacks to modify parent block.
The callbacks returned by `make_before_block_visitor` and `make_after_block_visitor`, respectively, (which are passed as arguments to `traverse_and_serialize_block(s)`) currently accept three arguments, all of which are block arrays (i.e. with properties `blockName`, `attrs`, etc.):
- A ''reference'' to the block they're currently visiting, `&$block`;
- the block's `$parent_block`; and
- the `$prev`ious block (for `make_before_block_visitor`), or the `$next` block (for `make_after_block_visitor`), respectively.

Those arguments are passed to the "block visitor" callbacks by `traverse_and_serialize_block(s)` during traversal. The block that the callback is currently visiting is passed ''by reference'' to allow modifying it, which is e.g. used to inject the `theme` attribute into Template Part blocks.

One major limitation of Block Hooks is that they currently only work with templates, parts, and patterns that ''don't have any user modifications'' (i.e. that come straight from the corresponding theme files, rather than from the database). For WordPress 6.5, it is planned to change that to make Block Hooks work for templates, parts, and patterns that ''do'' have user modifications: #59646.

This will be implemented by storing an attribute on the "anchor" block. While working on that feature, it was found that the aforementioned callbacks will need to modify not only the currently visited `$block`, but also the `$parent_block` -- i.e. that the latter argument needs to be passed by reference as well. This is consistent with the requirement of adding an attribute to an anchor block, as it's not only the currently visited block that can serve as an anchor block (in the case of `before` or `after` sibling insertion), but also its parent (for `first_child` and `last_child` insertion).

If the `$parent_block` argument were to be changed to become a reference in a later WordPress version, this could be considered a backwards-compatibility breaking change. For this reason, this change is instead proposed for 6.4 already, which is the cycle during which the relevant functions were first introduced. This should have no impact on existing code, since nothing currently relies on `$parent_block` remaining unmodified by the respective callback, nor is anything currently modifying that argument.

Props hellofromTonya.
Fixes #59776.

git-svn-id: https://develop.svn.wordpress.org/trunk@57038 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-31 19:23:25 +00:00
Tammie Lister 5dff9238b9 Update editor related npm packages for 6.4 RC3.
The npm packages needed update for 6.4 RC3.

Patch: https://github.com/WordPress/wordpress-develop/pull/5587.
This PR includes the following changes:

- Regression: [https://github.com/WordPress/gutenberg/pull/55553 Patterns: fix bug with authors and contributors not seeing user pattern categories].
- Bugfix: [https://github.com/WordPress/gutenberg/pull/55539 Query Loop:Disallow "enhanced pagination" with core blocks that may contain third-party blocks].
- Regression: [https://github.com/WordPress/gutenberg/pull/55667 File: Fix embedded PDF files in Safari].
- Regression: [https://github.com/WordPress/gutenberg/pull/55669 Ensure Term Description block is registered in core]

Props DAreRodz, luisherranz, poena, afercia, danieldudzic, hellofromtonya, siobhyb, mikachan, get_dave, scruffian, wildworks, glendaviesnz, ramonopoly, aaronrobertshaw.

See #59411.


git-svn-id: https://develop.svn.wordpress.org/trunk@57034 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-31 15:11:42 +00:00
Sergey Biryukov db034446ac Coding Standards: Remove extra space in a comment in WP_REST_Blocks_Controller.
This fixes a WPCS error: `Whitespace found at end of line`.

Follow-up to [57032].

Props hellofromTonya.
See #59388.

git-svn-id: https://develop.svn.wordpress.org/trunk@57033 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-31 14:21:23 +00:00
Sergey Biryukov 3d86a763a6 Docs: Update some reusable block references to synced patterns.
In WordPress 6.3, [https://wordpress.org/documentation/article/reusable-blocks/ Reusable Blocks were renamed to Patterns]. A synced pattern will behave in exactly the same way as a reusable block.

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

Follow-up to [56030].

Props benjaminknox, oglekler, hellofromTonya, marybaum, nicolefurlan.
Fixes #59388.

git-svn-id: https://develop.svn.wordpress.org/trunk@57032 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-31 12:56:16 +00:00