Commit Graph

9112 Commits

Author SHA1 Message Date
Weston Ruter
6af32c813a Site Health: Improve messaging for PHP version status.
Previously, the status could be misleading, especially if the check against the WordPress.org API failed. The initial status message is now more neutral, and a dedicated check has been added to handle cases where the API is unreachable.

Developed in https://github.com/WordPress/wordpress-develop/pull/7350

Follow-up to [58832].

Props pbearne, joemcgill, mukesh27, peterwilsoncc, swb1192, krupajnanda, psykro, SergeyBiryukov, swissspidy, imranhasanraaz, amin7, flixos90, vgnavada, audrasjb, adamsilverstein, Presskopp, westonruter.
Fixes #61623.

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


git-svn-id: http://core.svn.wordpress.org/trunk@60459 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-11-04 08:50:35 +00:00
Weston Ruter
71dab9f7cf Filesystem API: Update WP_Filesystem_FTPext::$link phpdoc type.
This accounts for when `ftp_ssl_connect()`/`ftp_connect()` returns `false` as well as for when `FTP\Connection` is returned instead of `resource` as of PHP 8.1. 

Props SirLouen, kalpeshh, audrasjb.
Fixes #63201.

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


git-svn-id: http://core.svn.wordpress.org/trunk@60452 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-11-03 21:38:34 +00:00
Adam Silverstein
59991fff9b Editor: Notes should not appear in the context of comments.
Prevent notes from inadvertently showing up in the context of comments - including on the Dashboard recent comments widget and the “Mine” count on the Comments page. Notes are stored as a custom ‘note’ comment type and this change ensures the note type is only returned when explicitly requested, or when ‘all’ types are requested.

The query for note children is modified to return all child notes. This fixes an issue where children were no longer being returned for the ‘note’ type.

Also fixes https://github.com/WordPress/gutenberg/issues/72548.


Props adamsilverstein, timothyblynjacobs, shailu25, peterwilsoncc, westonruter, mamaduka, kadamwhite.
Fixes #64145.
Fixes #64152.


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


git-svn-id: http://core.svn.wordpress.org/trunk@60441 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-10-31 18:57:30 +00:00
joedolson
16a08879f0 Media: A11y: Switch uploader toggle to button and set focus.
The control to switch between the browser uploader and the default uploader used a link with `target="_blank"`, but was driven by scripts. In a no-js context, this meant that the link could be used to open the browser uploader in a new tab. This is unnecessary, however, because the default uploader is not rendered when JS is not available.

On switching uploaders, browser focus was lost.

For more predictable keyboard and screen reader behavior, switch the media uploader toggle to a `button` element and set focus to the upload button in the new context.

Props dilipbheda, sabernhardt, rollybueno, westonruter, joedolson.
Fixes #63238.
Built from https://develop.svn.wordpress.org/trunk@61099


git-svn-id: http://core.svn.wordpress.org/trunk@60435 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-10-30 22:32:34 +00:00
joedolson
96dcb2b13c Media: Prevent fatal error if metadata is an array.
Check the data type of ID3 data on import before running `wp_kses_post` or `wp_kses_post_deep` to fix a fatal error thrown when attempting to run `wp_kses_post` on non-string content in PHP 8.2+.

Adds unit tests to verify.

Props sllimrovert, ankitkumarshah, rollybueno, wpfy, hmbashar, SirLouen, johnbillion, huzaifaalmesbah, sandeepdahiya, sourabhjain, poojapadamad, joedolson.
Fixes #63529.
Built from https://develop.svn.wordpress.org/trunk@61098


git-svn-id: http://core.svn.wordpress.org/trunk@60434 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-10-30 19:45:32 +00:00
desrosj
160ccd428e Press This: Revert [60990] for more discussion.
[60990] introduced a new action, `press_this_init`. While the code changes adding the hook are straightforward, the actual use cases are not yet clear.

Reverting the change allows for more discussion to clarify what is actually supported through the addition of this new action.

Props jorbin.
See #53076.
Built from https://develop.svn.wordpress.org/trunk@61030


git-svn-id: http://core.svn.wordpress.org/trunk@60366 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-10-21 13:46:24 +00:00
Sergey Biryukov
6782a70a92 Coding Standards: Use more meaningful variable names in Theme Upgrader.
Per the [https://developer.wordpress.org/coding-standards/wordpress-coding-standards/php/#naming-conventions Naming Conventions]:

> Don’t abbreviate variable names unnecessarily; let the code be unambiguous and self-documenting.

This commit includes renaming of the following variables:
* `$r` to `$upgrade_data`.
* `$res` to `$connected`.
* `$info` to `$new_theme_data`.

Follow-up to [8989], [11005], [13686], [18618], [20268], [57252].

Props costdev, mukesh27.
See #63168.
Built from https://develop.svn.wordpress.org/trunk@61028


git-svn-id: http://core.svn.wordpress.org/trunk@60364 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-10-21 13:42:28 +00:00
Peter Wilson
1499d5e8d2 Upgrade/Install: Revert relocation of Hello Dolly plugin.
Reverts Hello Dolly changes moving the plugin to a containing folder. Removes the `upgrade_690()` function in it's entirety as the upgrade routine is no longer required. 

Fully reverted commits: [60666], [60670], [60716], [60725]; partially reverts [60721].

Porps johnbillion, whyisjake, SirLouen, mindctrl, afragen, jorbin, Otto42, swissspidy, welcher, davidbaumwald.
See #53323.

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


git-svn-id: http://core.svn.wordpress.org/trunk@60342 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-10-21 04:33:29 +00:00
Sergey Biryukov
d8dc8f547e Coding Standards: Use more meaningful variable names in Plugin Upgrader.
Per the [https://developer.wordpress.org/coding-standards/wordpress-coding-standards/php/#naming-conventions Naming Conventions]:

> Don’t abbreviate variable names unnecessarily; let the code be unambiguous and self-documenting.

This commit includes renaming of the following variables:
* `$r` to `$upgrade_data`.
* `$res` to `$connected`.
* `$pluginfiles` to `$plugin_files` — Per naming conventions, separate words via underscores.
* `$info` to `$new_plugin_data`.

Follow-up to [6779], [8550], [9141], [11005], [12157], [18618], [56525].

Props costdev, mukesh27.
See #63168.
Built from https://develop.svn.wordpress.org/trunk@60997


git-svn-id: http://core.svn.wordpress.org/trunk@60333 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-10-20 23:37:34 +00:00
Aaron Jorbin
4f4e28a421 Plugins and Themes: Add filters to validation functions.
It is now possible to add additional validation requirements for themes and plugins besides the built in core checks.

Developed in https://github.com/WordPress/wordpress-develop/pull/1812 and https://github.com/WordPress/wordpress-develop/pull/10361.

Props kraftbj, mukesh27, jorbin, joedolson.
Fixes #54381.

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


git-svn-id: http://core.svn.wordpress.org/trunk@60331 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-10-20 22:31:27 +00:00
Weston Ruter
a912bcb599 Posts, Post Types: Rename new post_states_string filter to post_states_html.
Add examples to the PHPDoc for the filter params.

Developed in https://github.com/WordPress/wordpress-develop/pull/10360

Follow-up to [60986].

Props dmsnell, westonruter.
See #51403.

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


git-svn-id: http://core.svn.wordpress.org/trunk@60329 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-10-20 21:45:35 +00:00
joedolson
e2c156312e Menus: Improve usability and accessibility of menu quick search.
Change the admin menu quick search to limit to searching post titles. Add filter `wp_ajax_menu_quick_search_args` to support customizing post columns in query. Clear quick search results when search query is cleared. Send announcements about search status via `wp.a11y.speak()`.

Props diebombe, afercia, audrasjb, nickjbedford, kevinlearynet, mukesh27, joedolson.
Fixes #48655.
Built from https://develop.svn.wordpress.org/trunk@60991


git-svn-id: http://core.svn.wordpress.org/trunk@60327 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-10-20 20:31:34 +00:00
Weston Ruter
99c72041b7 Press This: Add press_this_init action so plugins can provide their own implementations.
Developed in https://github.com/WordPress/wordpress-develop/pull/8612

Props kraftbj, azaozz, SirLouen, shailu25, mukesh27, poena, desrosj, westonruter.
Fixes #53076.

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


git-svn-id: http://core.svn.wordpress.org/trunk@60326 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-10-20 20:03:20 +00:00
Adam Silverstein
956747c6e8 Editor: Introduce the PHP-related code for Notes.
Bring the PHP part of the new Notes feature into core for the 6.9 release. See related Gutenberg Issue: https://github.com/WordPress/gutenberg/issues/71826. These changes do not impact any user facing functionality, they simply prepare core for the JavaScript functionality that will come over in a separate sync.

Overview of changes:
- Ensure Notes are not included in comment counts
- Enable the note type  (REST API)
- Adjust capabilities so edit_post cap implies ability to edit notes  
- Enable empty and duplicate notes for resolve/re-open actions  
- Add control over notes with post type supports check
- Register new note resolution status meta

Props: ristojovanovic, adamsilverstein, jeffpaul, wildworks, mamaduka, swissspidy, timothyblynjacobs, kadamwhite.
Fixes #64096.


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


git-svn-id: http://core.svn.wordpress.org/trunk@60323 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-10-20 19:22:33 +00:00
Weston Ruter
8444ab7453 Posts, Post Types: Add post_states_string filter for HTML string of post states.
Developed in https://github.com/WordPress/wordpress-develop/pull/10000

Props paulbonneau, mukesh27, westonruter, SirLouen, dmsnell, brandbrilliance, shsajalchowdhury, aialvi, ugyensupport.
Fixes #51403.

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


git-svn-id: http://core.svn.wordpress.org/trunk@60322 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-10-20 19:06:36 +00:00
Peter Wilson
ee3b03497c Menus: Remove caching todo from wp_nav_menu_item_post_type_meta_box().
Remove the note to introduce caching to `wp_nav_menu_item_post_type_meta_box()` as caching has since been introduced to `WP_Query` and therefore `get_posts()`. The comment is out of date.

See #63168.

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


git-svn-id: http://core.svn.wordpress.org/trunk@60316 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-10-19 21:34:26 +00:00
Sergey Biryukov
acf738b39e Coding Standards: Use more meaningful variable names in Custom Image Header.
Per the [https://developer.wordpress.org/coding-standards/wordpress-coding-standards/php/#naming-conventions Naming Conventions]:

> Don’t abbreviate variable names unnecessarily; let the code be unambiguous and self-documenting.

Follow-up to [27497], [27849].

Props costdev, mukesh27.
See #63168.
Built from https://develop.svn.wordpress.org/trunk@60970


git-svn-id: http://core.svn.wordpress.org/trunk@60306 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-10-18 13:26:30 +00:00
johnjamesjacoby
fb95040f25 Networks and Sites: introduce 3 new actions inside the populate_network() function.
* `before_populate_network`
* `after_populate_network`
* `after_upgrade_to_multisite`

These hooks are strategically located to allow the execution of custom code before & after a new multisite network is created, as well as after the first time a single-site installation is upgraded to multisite.

This change also includes a set of unit tests via a new `Tests_Multisite_PopulateNetworkHooks` class, to confirm that these hooks are executing when and as intended.

Props jeremyfelt, johnjamesjacoby, Mista-Flo, spacedmonkey, sukhendu2002, rmccue, rollybueno.

Fixes #27289.
Built from https://develop.svn.wordpress.org/trunk@60954


git-svn-id: http://core.svn.wordpress.org/trunk@60290 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-10-17 15:05:34 +00:00
Sergey Biryukov
c02580e18b Docs: Correct the tag order for site_status_good_response_time_threshold filter.
Follow-up to [54043].

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


git-svn-id: http://core.svn.wordpress.org/trunk@60274 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-10-15 21:36:35 +00:00
joedolson
2f28cf4868 Privacy: A11y: Show time of privacy request status change.
Add the date and time of privacy request status changes in the privacy requests table. Previously, `human_time_diff()` was used in the first 24 hours, and only the date after 24 hours. Change the output to display both date and time after 24 hours, using the format used for comments.

Props birgire, desrosj, afercia, xkon, tz-media, garrett-eclipse, sirlouen, sukhendu2002, sajjad67, fakhriaz, joedolson.
Fixes #44267.
Built from https://develop.svn.wordpress.org/trunk@60891


git-svn-id: http://core.svn.wordpress.org/trunk@60227 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-10-02 21:48:35 +00:00
joedolson
69bb40f683 A11y: Ensure icons are not spoken by screen readers.
For all CSS generated icons across core, either add `aria-hidden="true"` to the HTML wrapper or set the generated content alternative to an empty string in the CSS using the  alternative text specification for CSS generated content.

Props afercia, joedolson, cheffheid, jhabdas.
Fixes #40428.
Built from https://develop.svn.wordpress.org/trunk@60806


git-svn-id: http://core.svn.wordpress.org/trunk@60142 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-09-28 23:40:35 +00:00
joedolson
7973f2e205 I18n: Combine duplicate text strings into variables.
In cases where a string is used both for a visible label and a screen reader text label,  the screen reader text should never be different from the visible label. To help ensure this doesn't happen, use only a single string. The associated screen reader text comments are no longer required.

This is also true for a few cases where there are strings in contexts where variables can't be used. In these cases, the screen reader text comments are also removed.

Props sabernhardt, swissspidy, audrasjb, joedolson.
Fixes #63620.
Built from https://develop.svn.wordpress.org/trunk@60805


git-svn-id: http://core.svn.wordpress.org/trunk@60141 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-09-28 22:38:32 +00:00
Sergey Biryukov
171b7fb23e Database: Do not unnecessarily alter table in dbDelta() for field type case differences.
This aims to avoid extra changes to database structure when type case is the only difference:
{{{
Changed type of wp_table.field from varchar(255) to VARCHAR(255)
}}}

Follow-up to [1575], [37532].

Props leewillis77, tristanleboss, lordspace, johnbillion, SergeyBiryukov.
Fixes #59481.
Built from https://develop.svn.wordpress.org/trunk@60789


git-svn-id: http://core.svn.wordpress.org/trunk@60125 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-09-21 15:52:29 +00:00
joedolson
69ced2eb1f Editor: A11y: Set aria-haspopup on Add Media button.
Add the `aria-haspopup` attribute and `aria-controls` on the Add Media button in the classic editor, so that screen reader users are notified about the behavior of the button.

Props alh0319, rishabhwp, joedolson.
Fixes #63973.
Built from https://develop.svn.wordpress.org/trunk@60786


git-svn-id: http://core.svn.wordpress.org/trunk@60122 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-09-19 20:54:33 +00:00
Sergey Biryukov
2217d04148 Database: Ensure Non_unique index value is compared as a string in dbDelta().
Follow-up to [1575], [58994].

Props tsteel.
Fixes #64005.
Built from https://develop.svn.wordpress.org/trunk@60784


git-svn-id: http://core.svn.wordpress.org/trunk@60120 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-09-19 13:08:27 +00:00
Sergey Biryukov
1e8e058801 Database: Do not report an extra update in dbDelta() with backticks in table name.
Follow-up to [10948], [20704].

Props leewillis77, swissspidy, johnbillion, SergeyBiryukov.
Fixes #63976.
Built from https://develop.svn.wordpress.org/trunk@60782


git-svn-id: http://core.svn.wordpress.org/trunk@60118 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-09-19 12:00:26 +00:00
Weston Ruter
ba1e77a454 Menus: Fix searchability of post types which contain numeric characters.
The regular expression needs to correspond to how a post type slug is sanitized by `sanitize_key()` in `register_post_type()`.

Props kshaner, mindctrl, oglekler.
Fixes #63633.

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


git-svn-id: http://core.svn.wordpress.org/trunk@60111 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-09-17 05:48:31 +00:00
Sergey Biryukov
072f79dd00 Upgrade/Install: Cast get_option( 'active_plugins' ) to array in upgrade_690().
This resolves an error on Multisite networks where an individual site doesn't have plugins active:
{{{
array_search(): Argument #2 ($haystack) must be of type array, string given
}}}

Follow-up to [60666], [60721].

Props dd32.
See #53323.
Built from https://develop.svn.wordpress.org/trunk@60725


git-svn-id: http://core.svn.wordpress.org/trunk@60061 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-09-09 15:34:31 +00:00
davidbaumwald
9ceab322ad Plugins: Correct deactivate row action text when network active.
Specifically, this change when a network activated plugin has plugin dependencies, the disabled deactivate row action link text is changed from "Deactivate" to "Network Deactivate".

Follow-up to [57545].

Props pbiron, nikunj8866, shailu25, jjj.
Fixes #63942.
Built from https://develop.svn.wordpress.org/trunk@60723


git-svn-id: http://core.svn.wordpress.org/trunk@60059 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-09-08 20:58:38 +00:00
Sergey Biryukov
57e2365030 Upgrade/Install: Correct the database upgrade routine for WordPress 6.9.
This commit:
* Moves the call to `upgrade_690()` to the correct place so it actually gets called.
* Wraps Hello Dolly upgrade code in a version check per standard practice.
* Removes the `$wpdb->query()` call to avoid attempting to create the new index twice, once in the upgrade and once in `dbDelta()`.

Follow-up to [60666], [60716], [60717].

Props peterwilsoncc, mukesh27.
See #50161, #53323.
Built from https://develop.svn.wordpress.org/trunk@60721


git-svn-id: http://core.svn.wordpress.org/trunk@60057 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-09-08 13:47:39 +00:00
Sergey Biryukov
a2cceecbdd Database: Update $wp_db_version to point to the correct commit number.
Follow-up to [60717].

See #50161.
Built from https://develop.svn.wordpress.org/trunk@60718


git-svn-id: http://core.svn.wordpress.org/trunk@60054 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-09-07 20:39:20 +00:00
Sergey Biryukov
d54706b43c Database: Add type_status_author index for the posts table.
This aims to improve performance of some queries on installations with a large number of posts.

Follow-up to [3678], [3690], [9290], [13576].

Props josephscott, LucasMS, Otto42, flixos90, matt, johnjamesjacoby, siliconforks, mukesh27,  jonsurrell, SirLouen, SergeyBiryukov.
Fixes #50161.
Built from https://develop.svn.wordpress.org/trunk@60717


git-svn-id: http://core.svn.wordpress.org/trunk@60053 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-09-07 20:36:20 +00:00
Sergey Biryukov
ff865046b7 Coding Standards: Move upgrade_690() to the correct place, after upgrade_682().
Follow-up to [60666].

See #53323.
Built from https://develop.svn.wordpress.org/trunk@60716


git-svn-id: http://core.svn.wordpress.org/trunk@60052 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-09-07 20:34:35 +00:00
Sergey Biryukov
126fc3b4ca Code Modernization: Address no-op function deprecations in PHP 8.5.
Several PHP functions that have not been doing anything since PHP 8.0/8.1, specifically:

* `finfo_close()` since the `ext/fileinfo` migration in PHP 8.1
* `xml_parser_free()` since the `ext/xml` migration in PHP 8.0
* `curl_close()` since the `ext/curl` migration in PHP 8.0
* `curl_share_close()` since the `ext/curl` migration in PHP 8.0
* `imagedestroy()` since the `ext/gd` migration in PHP 8.0

will be deprecated in PHP 8.5 and will thus be throwing warnings.

This commit adds conditional checks to only call these functions on the relevant PHP versions.

Reference: [https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_no-op_functions_from_the_resource_to_object_conversion PHP RFC: Deprecations for PHP 8.5: Deprecate no-op functions from the resource to object conversion].

Props TobiasBg, SergeyBiryukov.
See #63061.
Built from https://develop.svn.wordpress.org/trunk@60703


git-svn-id: http://core.svn.wordpress.org/trunk@60039 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-09-03 12:18:31 +00:00
Sergey Biryukov
501fa4bd4e Posts, Post Types: Check the result of creating a draft in get_default_post_to_edit().
As `wp_insert_post()` can return an error for various reasons, this commit ensures that this scenario is properly handled and an error message is displayed.

Follow-up to [12987].

Props rishabhwp, tfrommen, SirLouen, siliconforks, SergeyBiryukov.
Fixes #37441.
Built from https://develop.svn.wordpress.org/trunk@60701


git-svn-id: http://core.svn.wordpress.org/trunk@60037 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-09-02 16:50:32 +00:00
Sergey Biryukov
1dc6a28e04 Docs: Correct the order of @since and @global tags in some files.
Follow-up to [9053], [13177], [16660], [32642], [37226], [54953], [59865], [60658].

Props viralsampat, shailu25, sandipsinh007.
Fixes #63879. See #63166.
Built from https://develop.svn.wordpress.org/trunk@60682


git-svn-id: http://core.svn.wordpress.org/trunk@60018 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-08-27 13:42:30 +00:00
jonsurrell
a8d180e55e Scripts: Use appropriate JSON encoding flags for script tags.
`wp_json_encode()` with default arguments is insufficient to safely escape JSON for script tags. Use `JSON_HEX_TAG | JSON_UNESCAPED_SLASHES` flags.

Developed in https://github.com/WordPress/wordpress-develop/pull/9557.

Props devasheeshkaul, jonsurrell, siliconforks.
Fixes #63851.

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


git-svn-id: http://core.svn.wordpress.org/trunk@60017 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-08-27 10:34:28 +00:00
whyisjake
f8f84a4173 Upgrade/Install: Move Hello Dolly plugin to directory structure.
Changes the Hello Dolly plugin from a single file structure to a proper plugin directory structure, moving from `hello.php` to `hello-dolly/hello.php` to align with Plugin Handbook Best Practices.

- Adds proper `Text Domain: hello-dolly` header to Hello Dolly plugin
- Updates core files to remove special case handling for `hello.php`
- Updates plugin dependency system to handle new directory structure
- Adds upgrade routine to migrate active plugin references and keep plugin active
- Updates all tests to use new plugin path format `hello-dolly/hello.php`
- Updates build configuration and .gitignore for new directory structure
- Adds `hello.php` to old files list for cleanup during core updates
- Adds `plugins/hello-dolly/` to new bundled directories list

Props afragen, SergeyBiryukov, peterwilsoncc, SirLouen, matt, davidbaumwald, desrosj, hellofromtonya, justinahinon,audrasjb, oglekler, whyisjake.
Fixes #53323.


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


git-svn-id: http://core.svn.wordpress.org/trunk@60002 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-08-26 18:41:31 +00:00
Sergey Biryukov
58aee83106 Docs: Correct the order of @since and @global tags in some files.
Follow-up to [32642], [32643], [60416].

Props shailu25, mukesh27.
See #63166.
Built from https://develop.svn.wordpress.org/trunk@60658


git-svn-id: http://core.svn.wordpress.org/trunk@59994 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-08-24 13:44:32 +00:00
Sergey Biryukov
db9f74475c Coding Standards: Move count() usage in wp_dashboard_recent_comments().
While the rule to discourage using functions like `count()` in a loop condition is a recommendation/best practice rule from the `WordPress-Extra` ruleset and does not directly apply to WordPress core, this is intended as a minor readability and code clarity improvement.

Follow-up to [10090], [17556], [20609], [26144].

Props krunal265, johnbillion, audrasjb, dhruvang21, SergeyBiryukov.
Fixes #56499.
Built from https://develop.svn.wordpress.org/trunk@60643


git-svn-id: http://core.svn.wordpress.org/trunk@59979 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-08-17 16:59:26 +00:00
Sergey Biryukov
669bacd5bd Revisions: Add year to timestamp in revisions comparison interface.
This aims to make it easier to distinguish between revisions from different years.

Follow-up to [23769], [23898], [24520].

Props kgagne, iamadisingh, abcd95, SergeyBiryukov.
Fixes #63816.
Built from https://develop.svn.wordpress.org/trunk@60642


git-svn-id: http://core.svn.wordpress.org/trunk@59978 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-08-16 21:53:28 +00:00
joedolson
6b2e46fdcd Media: Fix button sizing on Edit Media screen.
On the Edit Media screen, buttons were not all of consistent size. This was caused by custom sizing applied to CSS in the Edit Media panel that was not consistent with other button sizes.

Remove custom sizing and adds class so all Edit Media buttons will match styling of other admin buttons in desktop and mobile viewports.

Props hbhalodia, sabernhardt, sandeepdahiya, mikinc860, mukesh27, joedolson.
Fixes #63559.
Built from https://develop.svn.wordpress.org/trunk@60640


git-svn-id: http://core.svn.wordpress.org/trunk@59976 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-08-15 18:16:32 +00:00
Sergey Biryukov
eb32f853f6 Quick/Bulk Edit: Check if post status is set in wp_ajax_inline_save().
This aims to avoid a PHP warning if the status value is missing in the request.

Follow-up to [8951], [9083].

Props bor0, jorbin, SergeyBiryukov.
Fixes #63622.
Built from https://develop.svn.wordpress.org/trunk@60639


git-svn-id: http://core.svn.wordpress.org/trunk@59975 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-08-15 11:01:30 +00:00
Sergey Biryukov
090fb72df0 Export: Split the query for post authors in wxr_authors_list() into smaller chunks.
This aims to avoid a fatal error when attempting to export content on larger WP instances with a lot of data.

Follow-up to [15961], [28731].

Props bor0, SirLouen, SergeyBiryukov.
Fixes #63503.
Built from https://develop.svn.wordpress.org/trunk@60632


git-svn-id: http://core.svn.wordpress.org/trunk@59968 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-08-13 16:28:31 +00:00
dmsnell
ede3a79f96 Add wp_is_valid_utf8() for normalizing UTF-8 checks.
There are several existing mechanisms in Core to determine if a given string contains valid UTF-8 bytes or not. These are spread out and depend on which extensions are installed on the running system and what is set for `blog_charset`. The `seems_utf8()` function is one of these mechanisms.

`seems_utf8()` does not properly validate UTF-8, unfortunately, and is slow, and the purpose of the function is veiled behind its name and historic legacy.

This patch deprecates `seems_utf()` and introduces `wp_is_valid_utf8()`; a new, spec-compliant, efficient, and focused UTF-8 validator. This new validator defers to `mb_check_encoding()` where present, otherwise validating with a pure-PHP implementation. This makes the spec-compliant validator available on all systems regardless of their runtime environment.

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

Props dmsnell, jonsurrell, jorbin.
Fixes #38044.

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


git-svn-id: http://core.svn.wordpress.org/trunk@59966 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-08-12 18:15:36 +00:00
Peter Wilson
216a4157c9 Upgrade/Install: Reduce number of DB queries populating roles.
Reduces the number of database queries made when populating roles during install/multisite site creation by 344 (347 queries down to 3).

`populate_roles()` has been modified to prevent an individual database query each time a role or capability is added to the `WP_Roles` object. Instead the roles option, `{$wpdb->prefix}user_roles` is updated once at the end of the function call.

Introduces a test to ensure that updating the roles option via `WP_Roles` and updating the option in the manner now used by `populate_roles()` results in the same capabilities been applied to a role.

Props fliespl, johnjamesjacoby, ocean90, realloc, rishabhwp, sainathpoojary, sirlouen, spacedmonkey, swissspidy.
Fixes #37687.


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


git-svn-id: http://core.svn.wordpress.org/trunk@59950 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-08-07 01:34:33 +00:00
audrasjb
2ef90d3315 Administration: Avoid rendering empty bottom tablenav container when pagination is hidden.
This changeset removes the bottom `tablenav` container on taxonomy term list screens when it contains a hidden `.tablenav-pages.no-pages` element, to prevent unnecessary vertical spacing when no tags exist.

Props sainathpoojary, dilipbheda, audrasjb, abcd95, dhruvang21, SirLouen.
Fixes #63369.


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


git-svn-id: http://core.svn.wordpress.org/trunk@59949 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-08-06 22:37:30 +00:00
audrasjb
4f965a7ad0 Docs: Fix since declaration in get_test_search_engine_visibility() docblock.
See #63375.


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


git-svn-id: http://core.svn.wordpress.org/trunk@59866 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-07-31 23:11:21 +00:00
audrasjb
3930f78020 Site Health: Add a test and the related notice for the Search Engine Visibility setting.
This changeset adds a new Site Health test to make site owners more aware when search engines are discouraged from indexing their sites.
It also increases the visibility of the related Dashboard widget notice.

Changes:
- Adds a new Site Health test under the "Privacy" category to check whether search engines are discouraged
- Displays "recommended" status when search engines are discouraged, with clear messaging to review settings
- Provides a direct link to the Reading Settings page to change this option
- Use a red/alert color to the dashicon used on the Dashboard widget notice

Props jeffr0, newyorkerlaura, joedolson, codente, abcd95, andrewhoyer, SirLouen, johnbillion, mymothersdaughter, audrasjb, Emlebrun, gaeldenysiak, beryldlg, Spaceshipone, coralietixeront, peterwilsoncc.
Fixes #63375.


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


git-svn-id: http://core.svn.wordpress.org/trunk@59865 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-07-31 23:09:27 +00:00
audrasjb
dd37da8585 Plugins: Move the Add Plugins screen description above the filter menu.
This changeset moves the Add Plugins screen general description above the filter menu. It also rephrases a bit the wording of this description.

Props Presskopp, audrasjb, dhruvang21, shailu25.
Fixes #63723.


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


git-svn-id: http://core.svn.wordpress.org/trunk@59864 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2025-07-31 22:49:33 +00:00