Commit Graph
8723 Commits
Author SHA1 Message Date
Sergey Biryukov 8e8adbb7c9 Docs: Consistently document the $body_id global as a string.
Includes declaring the global at the beginning of `wp_iframe()` and `iframe_header()`.

Follow-up to [32642], [32643].

Props mukesh27, upadalavipul.
Fixes #60032.

git-svn-id: https://develop.svn.wordpress.org/trunk@57181 602fd350-edb4-49c9-b593-d223f7449a82
2023-12-11 12:09:42 +00:00
Sergey Biryukov 1325c63a0a Upload: Add missing escaping in upload_space_setting().
Follow-up to [https://mu.trac.wordpress.org/changeset/1088 mu:1088], [https://mu.trac.wordpress.org/changeset/1095 mu:1095], [12603].

Props utsav72640.
Fixes #58514.

git-svn-id: https://develop.svn.wordpress.org/trunk@57175 602fd350-edb4-49c9-b593-d223f7449a82
2023-12-08 21:24:26 +00:00
Sergey Biryukov 8035bdaec0 Docs: Improve documentation for Custom_Image_Header and Custom_Background constructors.
Follow-up to [4673], [8656], [12890], [13041].

Props faisalahammad, cadic.
Fixes #58049.

git-svn-id: https://develop.svn.wordpress.org/trunk@57169 602fd350-edb4-49c9-b593-d223f7449a82
2023-12-07 15:12:25 +00:00
Sergey Biryukov ee461f010a Administration: Don't unnecessarily escape none or div in the admin menu.
This matches a similar conditional in `wp-admin/menu-header.php`, where these values are handled as special cases and don't output the default menu image so that an icon could be added to `div.wp-menu-image` as CSS background. 

Follow-up to [9578], [21877], [26664].

Props andrewleap, ironprogrammer, azaozz.
Fixes #58361.

git-svn-id: https://develop.svn.wordpress.org/trunk@57159 602fd350-edb4-49c9-b593-d223f7449a82
2023-12-05 13:37:52 +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
Aaron Jorbin f3236c2c93 Help/About: Change CSS align-item for full browser support.
The values of `start` and `end` are not fully supported by Opera Mini which has 1.01% usage. There is no material change in functionality with this change.

Props kebbet, NekoJonez, luminuu, hellofromTonya.
Fixes #59819.



git-svn-id: https://develop.svn.wordpress.org/trunk@57151 602fd350-edb4-49c9-b593-d223f7449a82
2023-12-04 18:05:08 +00:00
Sergey Biryukov 0ce733c78f Upgrade/Install: Add port number to target origin when decrementing update counts.
This ensures that the update counter bubble in the admin menu is properly decreased after a successful plugin or theme update from within the update iframe when the site uses a non-standard port number.

Follow-up to [27280], [29357].

Props TobiasBg.
Fixes #59987.

git-svn-id: https://develop.svn.wordpress.org/trunk@57148 602fd350-edb4-49c9-b593-d223f7449a82
2023-12-01 01:33:40 +00:00
Tonya Mork 2dc568464e Plugins: Fix Add Plugin search button pos when JS off.
When JavaScript is disabled, the Add Plugins screen's search button position was too high in comparison to the search text field. This fix reuses the CSS declaration to keep field and button aligned.

By targeting the `.no-js` class, the CSS specificity is not impacted when JavaScript is enabled.

Follow up to [48281], [30830].

Props devmuhib, sabernhardt, huzaifaalmesbah, hellofromTonya.
Fixes #59967.

git-svn-id: https://develop.svn.wordpress.org/trunk@57144 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-29 16:43:15 +00:00
Sergey Biryukov a21f5a3cc0 Site Health: Remove unused $wpdb global in utf8mb4 support test.
Follow-up to [44984], [56475].

Props upadalavipul, mukesh27.
Fixes #59977.

git-svn-id: https://develop.svn.wordpress.org/trunk@57141 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-28 20:22:26 +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 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 30954f7ac0 Administration: Standardize default values in submit_button().
This commit updates the `submit_button()` function to standardize the default values of `$text` and `$other_attributes` parameters. Previously set to `null`, these defaults have now been changed to an empty string (`''`), bringing consistency with the `get_submit_button()` function, which `submit_button()` wraps.

The change maintains backward compatibility, as `get_submit_button()` does not perform strict type-checking on these parameters. This update aligns with the ongoing effort to standardize function parameters across the WordPress codebase, improving the readability and predictability of the core functions.

Follow-up to [31446].

Props andbalashov.
Fixes #59921.

git-svn-id: https://develop.svn.wordpress.org/trunk@57128 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-20 00:06:08 +00:00
Sergey Biryukov 2b15e0fc7b Coding Standards: Rewrite a few capability checks for clarity and readability.
This aims to:
* Perform the checks as early as possible to avoid redundant function calls.
* Remove an empty conditiaonal branch and make the exit conditions clearer.
* Bring the formatting in line with other multi-line conditionals in core.

Follow-up to [56836].

See #59650.

git-svn-id: https://develop.svn.wordpress.org/trunk@57123 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-17 17:09:09 +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
Sergey Biryukov ddb67a0099 Docs: Replace tabindex example in submit button functions documentation.
Most of the `tabindex` attributes across the admin were removed in [21311].

This commit updates the example for the `$other_attributes` parameter to use the `id` attribute instead.

Includes synchronizing documentation between `submit_button()` and `get_submit_button()`.

Follow-up to [15810], [16061], [21311], [27136], [31599].

Props benjaminknox, sabernhardt, fushar, SergeyBiryukov.
Fixes #59768.

git-svn-id: https://develop.svn.wordpress.org/trunk@57114 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-16 17:00:28 +00:00
Sergey Biryukov 0b8ca16ea3 Docs: Fix typo in the ms_user_list_site_class filter description.
Follow-up to [44977].

Props nithins53, shailu25, sabernhardt.
Fixes #59907.

git-svn-id: https://develop.svn.wordpress.org/trunk@57111 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-15 09:31:56 +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
Peter Wilson 2bf4a27d5a Quick/Bulk Edit: Prevent assigning posts to default categories during bulk edit.
During a bulk edit of posts with different categories, the categories for the edited posts would be reset to the default category: uncategorized by default.

This reverts [56712] to resolve the issue.

Props peterwilsoncc, hellofromtonya, jorbin.
Fixes #59837.
See #11302.


git-svn-id: https://develop.svn.wordpress.org/trunk@57093 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-08 23:20:33 +00:00
Sergey Biryukov 1eed1269eb Administration: Fix typos in wp_admin_notice() arguments in a few instances.
Follow-up to [56570], [56599].

Props dlh, mukesh27, sumitbagthariya16.
Fixes #59830.

git-svn-id: https://develop.svn.wordpress.org/trunk@57084 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-08 11:04:14 +00:00
Aaron Jorbin 9c19bc5a2c Help/About: Improve translation comment around release notes.
Props kharisblank, kebbet.
Fixes #59821.


git-svn-id: https://develop.svn.wordpress.org/trunk@57081 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-07 22:56:57 +00:00
Tonya Mork b22d0618d3 Upgrade/Install: Update $_old_files for 6.4.
Props davidbaumwald.
Fixes #59817.

git-svn-id: https://develop.svn.wordpress.org/trunk@57075 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-06 17:47:32 +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
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
Aaron Jorbin 64bfb23202 Help/About: Update link to field guide for 6.4.
Follow up to [56950].

Props afercia.
Fixes #59289.


git-svn-id: https://develop.svn.wordpress.org/trunk@57054 602fd350-edb4-49c9-b593-d223f7449a82
2023-11-02 14:55:56 +00:00
Sergey Biryukov ffcf5fb38a Docs: Improve documentation for wp_tempnam() and download_url().
Instead of mentioning the `unlink()` function specifically, the DocBlock should state that the calling function must delete or move the temporary file.

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

Props bedas.
Fixes #59761.

git-svn-id: https://develop.svn.wordpress.org/trunk@57027 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-29 00:14:46 +00:00
Aaron Jorbin f6befb782e Help/About: Improve Accessibility, RTL, Internationalization, and Responsiveness of about pages.
Tweaks the 6.4 about pages in a couple of ways:
 - Decouples the background from the 6.4 logo so the logo can move for RTL.
 - Updates a color to improve color contrast.
 - Help prevent overlap of long text strings with 6.4 logo.
 - Ensure background isn't dark when no background is used on mobile.

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



git-svn-id: https://develop.svn.wordpress.org/trunk@57018 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-27 17:01:50 +00:00
Sergey Biryukov f597832f53 General: Bump the recommended MySQL version in readme.html.
MySQL 5.7 reaches EOL (“End of Life”) in October 2023. The recommended minimum is bumped to 8.0 for now.

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

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

Props swissspidy, SergeyBiryukov.
See #59701.

git-svn-id: https://develop.svn.wordpress.org/trunk@56982 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-22 09:03:12 +00:00
Jonathan Desrosiers 9721943061 Build/Test Tools: Update the caniuse-lite database.
This updates the data for the `caniuse-lite` package and runs `grunt precommit:css`.

Fixes #58869.

git-svn-id: https://develop.svn.wordpress.org/trunk@56956 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-17 13:18:43 +00:00
Aaron Jorbin c197e15fcc Help/About: Update the About page for 6.4.
Also includes updates to the contribute, credits, freedom and privacy pages.

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


git-svn-id: https://develop.svn.wordpress.org/trunk@56950 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-17 02:00:11 +00:00
Peter Wilson c626e63715 Options, Meta APIs: Prevent saving of invalid timezones.
Prevent the saving of invalid timezone string in to the database on the options pages. If an invalid timezone is submitted it is ignored and the setting remains unchanged.

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

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


git-svn-id: https://develop.svn.wordpress.org/trunk@56949 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-16 23:49:10 +00:00
Aaron Jorbin 6802179d2c CSS: Run grunt precommit:css to update CSS.
See: #58869.
Props peterwilsoncc.




git-svn-id: https://develop.svn.wordpress.org/trunk@56948 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-16 21:46:26 +00:00
Tonya Mork 39e28173d5 Users: Show "Password reset link sent" message only when finished.
When an admin sends a password reset link to a user (from the Users UI screen), the "finished" UI message:

>Password reset link sent.

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

**What is the change?**

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

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

**What is displayed on error?**

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

>Password reset links sent to 0 users.

The UI messages were not modified by this changeset.

Follow-up to [50129].

Props letraceursnork, prashantbhivsane, audrasjb, costdev, dilipbheda, hareesh-pillai, hellofromTonya, ironprogrammer, huzaifaalmesbah, marybaum, nicolefurlan, oglekler, petitphp, SergeyBiryukov.
Fixes #58407.

git-svn-id: https://develop.svn.wordpress.org/trunk@56937 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-15 14:02:34 +00:00
Sergey Biryukov e9375e0679 Media: Consistently call the wp_create_file_in_uploads hook as a filter.
The filter was initially introduced for file replication purposes. Since the returned value is not always used directly, some instances were later converted to an action as part of removing unused variables, and the hook was documented as an action while still being called as a filter in other instances.

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

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

Props Howdy_McGee, nicolefurlan, johnbillion, mhshujon, SergeyBiryukov.
Fixes #57775.

git-svn-id: https://develop.svn.wordpress.org/trunk@56929 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-13 12:18:19 +00:00
Jb Audras 1077af7544 Shortcodes: Restrict ajax handler for media shortcode.
Props tykoted, xknown, peterwilsoncc, antpb, jorbin.





git-svn-id: https://develop.svn.wordpress.org/trunk@56838 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-12 12:45:49 +00:00
Aaron Jorbin ffba0d12a3 Application Passwords: Prevent the use of some pseudo protocols in application passwords.
Props tykoted, xknown, peterwilsoncc, jorbin, timothyblynjacobs, martinkrcho, paulkevan, dd32, ehtis.


git-svn-id: https://develop.svn.wordpress.org/trunk@56837 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-12 12:39:18 +00:00
Jb Audras c445b80b58 Comments: Prevent users who can not see a post from seeing comments on it.
Props peterwilsoncc, jorbin, audrasjb.





git-svn-id: https://develop.svn.wordpress.org/trunk@56836 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-12 12:36:29 +00:00
Sergey Biryukov 80931f0c2d Help/About: Ensure that focus outline on the Credits screen is not cut off.
Props ivanzhuck, oglekler, wildworks, dhrumilk, audrasjb, tejadev, ankit-k-gupta, sumitbagthariya16, mukesh27, marybaum.
Fixes #59033.

git-svn-id: https://develop.svn.wordpress.org/trunk@56826 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-11 10:41:50 +00:00
Colin Stewart d95c0e1c79 Docs: Use US spelling and correct a typing mistake.
This changes two inline comments and a docblock so that they use US spelling as advised by the Core Handbook's Best Practices. A typing mistake is also corrected.

Reference:
- [https://make.wordpress.org/core/handbook/best-practices/spelling/ Core Handbook - Best Practices - Spelling].

Follow-up to [18632], [38120], [44954].

Props kebbet, mukesh27.
See #58833.

git-svn-id: https://develop.svn.wordpress.org/trunk@56825 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-11 07:03:04 +00:00
Colin Stewart 9cccbc592b Plugins: Fix broken sprintf() call in plugins list table.
In [56599], a `sprintf()` call was modified which resulted in an insufficient number of arguments.
This caused a Fatal Error when an incompatible plugin notice was displayed.

This fixes the `sprintf()` call.

Follow-up to [56599].

Props petitphp, TobiasBg, sabernhardt, mukesh27.
Fixes #59590. See #57791.

git-svn-id: https://develop.svn.wordpress.org/trunk@56824 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-11 04:32:00 +00:00
Tonya Mork 75532c3050 Update/Install: Deactivate Gutenberg plugin version older than 16.5.
This commit changes the Gutenberg minimum compatible version number from 14.1 (introduced in [54790]) to 16.5. For versions older than 16.5, the plugin will deactivate when upgrading WordPress to 6.4-beta3 or newer.

Changes are done within Core's `_upgrade_core_deactivate_incompatible_plugins()` which is invoked during WordPress' upgrade process.

Follow-up to [54790].

Props hellofromTonya, spacedmonkey.
Fixes #59584.

git-svn-id: https://develop.svn.wordpress.org/trunk@56820 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-10 15:05:34 +00:00
Joe Dolson eb0ae5679a Quick/Bulk Edit: Fix inability to quick edit draft post date.
Follow up to [56022] to fix inability to set a date/time in quick editing. Allow a user to set a quick/edit date while preventing accidental date assignments per the original intent.

Props tristanleboss, ivanzhuck, tibbsa, sabernhardt, sergeybiryukov, oandregal, khokansardar, joedolson, shailu25.
Fixes #59125. See #19907.

git-svn-id: https://develop.svn.wordpress.org/trunk@56802 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-08 20:08:08 +00:00
Joe Dolson 662e1c639f Upload: Fix misalignment of 'Copied' message.
Add `display: flex` to `.copy-to-clipboard-container` to fix alignment of elements within the container.

Props sujichandran14, oglekler, sarathar, huzaifaalmesbah, nicolefurlan, joemcgill, dkotter.
Fixes #58829.

git-svn-id: https://develop.svn.wordpress.org/trunk@56801 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-08 18:19:53 +00:00
Joe Dolson 1e3214a977 Administration: Add missing space in theme activation notices.
Restore missing space in two admin notices during theme activation.

Props shailu25, sergeybiryukov, mukesh27, hellofromtonya.
Fixes #59501. See #57791.

git-svn-id: https://develop.svn.wordpress.org/trunk@56800 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-08 17:54:21 +00:00
Sergey Biryukov f0b32ccf63 Coding Standards: Correct alignment in wp-admin/user-edit.php.
This resolves a WPCS warning:
{{{
Array double arrow not aligned correctly;
expected 1 space(s) between "'type'" and double arrow, but found 15.
}}}

Follow-up to [56570], [56680].

Props jrf.
See #59161, #58831.

git-svn-id: https://develop.svn.wordpress.org/trunk@56798 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-07 13:53:10 +00:00
Sergey Biryukov 478cd02dfe Editor: Move wp_navigation schema updating to WP_Navigation_Fallback class.
This aims to better align the navigation fallback implementation with core architecture and best practices.

The function that updates the `wp_navigation` post response schema is now a public method of the `WP_Navigation_Fallback` class, so an extra file previously used for that specific function is no longer necessary.

Follow-up to [56052].

Props ramonopoly, scruffian, isabel_brison, mukesh27, swissspidy, rajinsharwar, afercia, audrasjb, mikeschroder, JeffPaul, johnjamesjacoby, TimothyBlynJacobs, oglekler, SergeyBiryukov.
Fixes #58910.

git-svn-id: https://develop.svn.wordpress.org/trunk@56793 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-06 14:04:22 +00:00
Jonny Harris 3ad20183b0 Editor: Improve performance of _register_theme_block_patterns function.
The `_register_theme_block_patterns` function imposed a significant resource overhead. This issue primarily stems from themes, such as TT4, that register a substantial number of block patterns. These patterns necessitate numerous file operations, including file lookups, file reading into memory, and related processes. To provide an overview, the _register_theme_block_patterns function performed the following file operations:

- is_dir
- is_readable
- file_exists
- glob
- file_get_contents (utilized via get_file_data)

To address these issues, caching using a transient has been added to a new function call `_wp_get_block_patterns`. If theme development mode is disabled and theme exists, the block patterns are saved in a transient cache. This cache is used all requests after that, saving file lookups and reading files into memory. Cache invalidation is done, when themes are switched, deleted or updated. Meaning that block patterns are not stored in the cache incorrectly. 

Props flixos90, joemcgill, peterwilsoncc, costdev, swissspidy, aristath, westonruter, spacedmonkey.
Fixes #59490

git-svn-id: https://develop.svn.wordpress.org/trunk@56765 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-03 15:16:55 +00:00
Sergey Biryukov 8bbeee43b6 Coding Standards: Remove redundant ignore annotations, take 4.
This removes ignore annotations related to sniffs which are not used by WP Core (like sniffs in the `WordPress-Extra` ruleset).

Follow-up to [48072], [51003], [55204], [56714].

Props jrf.
See #59161.

git-svn-id: https://develop.svn.wordpress.org/trunk@56752 602fd350-edb4-49c9-b593-d223f7449a82
2023-10-01 00:20:53 +00:00
Jonny Harris 4baf0a1eda Comments: Improve WP_Comment_Query count query performance by setting 'order by' to 'none'.
In cases where `WP_Comment_Query` or `get_comments` is employed with the 'count' parameter set to true, specify 'order by' as 'none'. Since these queries serve solely to determine the count of comments matching specific query parameters, the 'order by' clause becomes redundant and places unnecessary strain on the database server, resulting in slower query execution. Given that count queries are executed on every admin request to retrieve comment counts, this change enhances the performance of the wp-admin interface.

Props guss77, davidbaumwald, SergeyBiryukov, westonruter, peterwilsoncc, foliovision, hareesh-pillai, spacedmonkey.
Fixes #58368

git-svn-id: https://develop.svn.wordpress.org/trunk@56747 602fd350-edb4-49c9-b593-d223f7449a82
2023-09-29 17:11:21 +00:00
Sergey Biryukov 0f0d34ed55 Coding Standards: Remove redundant ignore annotations, take 2.
This removes ignore annotations which are unnecessary due to the configuration in the `phpcs.xml.dist` ruleset already taking care of this.

Follow-up to [45611], [50146], [50148], [50586], [50822], [56738].

Props jrf.
See #59161.

git-svn-id: https://develop.svn.wordpress.org/trunk@56743 602fd350-edb4-49c9-b593-d223f7449a82
2023-09-29 12:19:29 +00:00
Colin Stewart e34c8b7fbc Filesystem API: Free the archive in _unzip_file_ziparchive().
There are several early returns in `_unzip_file_ziparchive()` which don't close the archive prior to returning.

As this function is used in installation and upgrade processes which are memory-intensive, this calls `ZipArchive::close()` to free the archive prior to each early return. This excludes the first return which is a result of a failure to open the archive, which is [https://github.com/nih-at/libzip/blob/main/lib/zip_open.c#L62-L73 freed internally] when the failure occurs.

References:
- PHP.net: [https://www.php.net/manual/en/ziparchive.open.php ZipArchive::open()] and [https://www.php.net/manual/en/ziparchive.close.php ZipArchive::close()]
- libzip: [https://libzip.org/documentation/zip_open.html zip_open()] and [https://libzip.org/documentation/zip_close.html zip_close()]

Follow-up to: [13005], [13006], [13015], [13221], [14346] [25779].

Props azaozz, afragen, joemcgill, costdev.
Fixes #59467

git-svn-id: https://develop.svn.wordpress.org/trunk@56735 602fd350-edb4-49c9-b593-d223f7449a82
2023-09-27 16:29:37 +00:00