In a recent change, `comment_time()` was updated to accept a `$comment_id` parameter for consistency with `comment_date()`, following a similar change for `get_comment_time()`.
However, the new parameter was not correctly passed to `get_comment_time()` inside the function. It should be passed as the fourth parameter after `$format`, `$gmt` and `$translate`, not the second.
This commit adds the missing arguments and a few unit tests to confirm the correct behavior.
Follow-up to [55284], [55287], [55308].
Props costdev, tmatsuur, ugyensupport, johnbillion.
Fixes#58064.
git-svn-id: https://develop.svn.wordpress.org/trunk@55632 602fd350-edb4-49c9-b593-d223f7449a82
This is a maintenance release with minor changes:
* Fix typo in deprecation notice.
* Minor internal improvements for passing the correct type to function calls.
* Confirmed compatibility with PHP 8.2. No changes were needed, so Requests 2.0.1 and higher can be considered compatible with PHP 8.2.
* Various documentation improvements and other general housekeeping.
References:
* [https://github.com/WordPress/Requests/releases/tag/v2.0.6 Requests 2.0.6 release notes]
* [https://github.com/WordPress/Requests/compare/v2.0.5...v2.0.6 Full list of changes in Requests 2.0.6]
Follow-up to [54997], [55007], [55046], [55225], [55296].
Props jrf, costdev.
Fixes#58079.
git-svn-id: https://develop.svn.wordpress.org/trunk@55629 602fd350-edb4-49c9-b593-d223f7449a82
Neither `wp-edit-post` nor `wp-editor` use the styles included in the `wp-nux` CSS file. This removes nux as a dependency from the registration of the two files.
Props flixos90, youknowriad, peterwilsoncc.
Fixes#57827.
See #57643.
git-svn-id: https://develop.svn.wordpress.org/trunk@55628 602fd350-edb4-49c9-b593-d223f7449a82
The XML manifest was originally added in WordPress 2.3.1 to turn on tagging support in Windows Live Writer.
Given that the last major release of the software came out in 2012, and it was completely discontinued in January 2017, including this file in core no longer provides any benefit.
Follow-up to [6192], [49904].
Props joostdevalk, ayeshrajans, flixos90, jhabdas, frank-klein, wtranch, SergeyBiryukov.
Fixes#41404.
git-svn-id: https://develop.svn.wordpress.org/trunk@55620 602fd350-edb4-49c9-b593-d223f7449a82
In this patch we're adding `has_self_closing_flag()` to the HTML Tag Processor.
This exposes whether a currently-matched tag contains the self-closing flag `/`.
This information is critical for the evolution of the HTML API in order
to track and parse HTML structure, specifically, knowing whether an
HTML foreign element is self-closing or not.
Props dmsnell, zieladam.
Fixes#58009.
git-svn-id: https://develop.svn.wordpress.org/trunk@55619 602fd350-edb4-49c9-b593-d223f7449a82
This adds the missing mentions of default value for the `$file` and `$parent_post_id` parameters.
Follow-up to [2921], [3092], [3303], [3851], [6155], [6379], [8669], [15590], [28788], [38408], [49936], [55021].
Props wpfy.
Fixes#58043.
git-svn-id: https://develop.svn.wordpress.org/trunk@55617 602fd350-edb4-49c9-b593-d223f7449a82
Check to see if the theme.json file exists before processing the rest of the code in `_wp_theme_json_webfonts_handler`. This improves performance by not trying to parse the theme.json, early in the bootstrap process.
Props spacedmonkey, hellofromTonya, flixos90.
Fixes#57814.
git-svn-id: https://develop.svn.wordpress.org/trunk@55612 602fd350-edb4-49c9-b593-d223f7449a82
The existing lazy loading meta api, creates a queue of ids, to be primed, if the `get_comment_meta` or `get_term_meta` functions are called. However, it did not check to see if the requested id was in the queue, before prime all the ids in the queue. Now, it adds the id to the queue, is not already in the queue, saving a cache lookup / database query.
Props spacedmonkey, peterwilsoncc, mukesh27, flixos90.
Fixes#57901.
git-svn-id: https://develop.svn.wordpress.org/trunk@55608 602fd350-edb4-49c9-b593-d223f7449a82
In the `fill_descendants` method in `WP_Comment_Query`, there is a loop the calls `wp_cache_get` to get `child comments. Instead of getting one key at a time, use `wp_cache_get_multiple` and get all keys at once.
Props spacedmonkey, tillkruess, mukesh27.
Fixes#57803.
git-svn-id: https://develop.svn.wordpress.org/trunk@55607 602fd350-edb4-49c9-b593-d223f7449a82
This fixes a few WPCS warnings along the lines of:
* Array double arrow not aligned correctly
* Equals sign not aligned with surrounding statements
* Usage of ELSE IF is discouraged; use ELSEIF instead
Follow-up to [55099], [55192], [55194], [55271].
Props davidbaumwald, jrf, SergeyBiryukov.
Fixes#57994.
git-svn-id: https://develop.svn.wordpress.org/trunk@55606 602fd350-edb4-49c9-b593-d223f7449a82
This changeset introduced a regression for partial-hour timezones such as +05:30 UTC which is India and Sri Lanka. How? These timezones are in float. The change made in [55054] type casted them to integer which dropped the decimal for the partial-hour, making the time inaccurate. For example, +05:30 UTC (India and Sri Lanka)'s `'gmt_offset'` is `5.5`, but with the changeset, it was changed to `5`.
Reverting the changeset restores the original state of `current_time()` and thus resolves the regression.
Props reputeinfosystems, Rarst, hellofromTonya, desrosj, audrasjb, sergeybiryukov, costdev, priethor, francina, nekojonez, codingchicken, cbringmann.
See #57035.
Fixes#57998.
git-svn-id: https://develop.svn.wordpress.org/trunk@55598 602fd350-edb4-49c9-b593-d223f7449a82
This reverts the changes implemented in [55358] and [55360].
Changeset [55358] was committed to prevent login name collision when one user registers with the email address `user@example.com` and a second user tries to register with the username `user@example.com`. However, it also introduced a potential backward compatibility issues for plugins that use `wp_update_user()`. When updating an existing user, it throws an `existing_user_email_as_login` error if the email address is also used for the user login, due to the code introduced in [55358].
This changeset removes the new scenario added in [55358] and [55360], restoring the `wp_insert_user()` function back to its previous state.
Props polevaultweb, audrasjb, costdev, peterwilsoncc, hellofromTonya, SergeyBiryukov, azaozz.
See #57967, #57394.
git-svn-id: https://develop.svn.wordpress.org/trunk@55584 602fd350-edb4-49c9-b593-d223f7449a82
To fix the dynamic properties, the following changes are included:
* Removes `WP_Admin_Bar::__get()`.
* Declares `menu` as a property on the class, deprecates it, and initializes it to an empty array.
* Removes the unused 'proto' dynamic property.
Dynamic (non-explicitly declared) properties are deprecated as of PHP 8.2 and are expected to become a fatal error in PHP 9.0.
== Why remove the `WP_Admin_Bar::__get()` magic method?
tl;dr
The magic method is no longer needed.
The magic method only handled the `menu` and `proto` dynamic properties. Introducing a full set of magic methods is overkill for this class. Instead of having to maintain magic methods, this changeset instead directly addresses the 2 properties (see below).
== Why declare the `menu` property on the class?
tl;dr
To simplify the code while maintaining backwards compatibility for extenders who are using this deprecated property.
The `menu` property was introduced during the 3.1.0 ''development cycle'' as a declared property [15671]. Its purpose was to ''internally'' hold the menu structure.
During the WP 3.3.0 development cycle, it was replaced by a new `private` property called `nodes` (see [19120]).
But breakage reports from extenders caused it to be restored. [19501] added the `__get()` magic method, i.e. for handling it as a dynamic property, and deprecated it.
>We're not going to maintain compat for $menu. Suggest we make it array() and plugins will have to deal. We can throw a _deprecated_argument() and push them to use the new methods.
~ Source: [https://core.trac.wordpress.org/ticket/19371#comment:17 see #19371 comment 17]
[https://wpdirectory.net/search/01GSTW1X69TBN8FH3SY7V8KPY5 A search of the wp.org plugins and themes repository] shows that a few plugins are still using this deprecated property. To maintain backwards compatibility, `menu` is moved back to the class as a declared property, set to an empty array (as it's been since 3.3.0), and deprecated in the property's description.
== Why remove the `proto` dynamic property?
tl;dr
* It was not intended to be released in 3.1.
* There are no usages of it in Core or in the WP.org's plugin or theme directories.
* It should be safe to remove.
This property was first introduced in the WP 3.1.0 ''development cycle'' to replace the `PROTO` constant (see [16038]) for protocol handling for the admin bar's hyperlinks. [16077] replaced the property's usages with URL functions such as `get_admin_url()` and `admin_url()`. But it missed removing the property, which was no longer needed or used.
It was relocated to the `__get()` magic method as a dynamic property when the `menu` property was restored (see [19501]).
A search of WP.org's plugins and themes repositories shows no usages of the property. Core hasn't used it since the removed in [16038] before 3.1 final release. It should be safe to remove it, but committing very early in the 6.3 alpha cycle to give time for reports of usages, if there are any.
References:
* A [https://www.youtube.com/watch?v=vDZWepDQQVE&t=9362s 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 [19501], [19120], [16308], [16038], [15671].
Props antonvlasenko, hellofromTonya, jrf, markjaquith, desrosj, ironprogrammer, peterwilsoncc, SergeyBiryukov.
See #56876, #56034.
git-svn-id: https://develop.svn.wordpress.org/trunk@55580 602fd350-edb4-49c9-b593-d223f7449a82
Convert `get_pages` to use `WP_Query` internally. Using WP_Query means that a lot of code has been removed however existing parameters supported by get_pages are transformed in to query arguments. The custom caching solution found in the old version of this function is replaced with the caching found in WP_Query (added in [53941]). This change adds consistency to the codebase, as improvements and changes to `WP_Query` will filter down to the `get_pages` function.
Props mikeschinkel, spacedmonkey, nacin, scribu, filosofo, jane, garyc40, markoheijnen, grandslambert, kevinB, wlindley, dbernar1, atimmer, mdawaffe, helen, benjibee, johnbillion, peterwilsoncc, costdev, flixos90, joemcgill.
Fixes#12821.
git-svn-id: https://develop.svn.wordpress.org/trunk@55569 602fd350-edb4-49c9-b593-d223f7449a82
Updates the `@wordpress` packages to include the fixes for these regressions introduced in the 6.2 cycle:
* [Regression] Navigation Block: Category/Custom taxonomy links are not searchable in the Link inserter [https://github.com/WordPress/gutenberg/pull/49126 Gutenberg PR 49126]. See #57929✅
* [Regression] Post Editor: List View has no close button on mobile viewports [https://github.com/WordPress/gutenberg/pull/49200 Gutenberg PR 49200] ✅
References:
* [811da1ab3a Packages x.3.11 publish commit].
Follow-up to [55548].
Props andraganescu, costdev, get_dave, hellofromTonya, mamaduka, ntsekouras, scruffian, talldanwp, thomask.
See #57471.
Fixes#57929.
git-svn-id: https://develop.svn.wordpress.org/trunk@55568 602fd350-edb4-49c9-b593-d223f7449a82
The parameter represents the cache group, not the cache key.
Follow-up to [19918].
Props johnjamesjacoby, spacedmonkey.
Fixes#40420.
git-svn-id: https://develop.svn.wordpress.org/trunk@55566 602fd350-edb4-49c9-b593-d223f7449a82
Includes documenting data provider values using hash notation in the tests for:
* `convert_smilies()`
* `get_url_in_content()`
* `links_add_target()`
* `normalize_whitespace()`
Follow-up to [26191], [26327], [26328], [26972], [55562].
See #57841.
git-svn-id: https://develop.svn.wordpress.org/trunk@55563 602fd350-edb4-49c9-b593-d223f7449a82
* `$unapproved_ids` and `$unapproved_emails` in `WP_Comment_Query::get_comment_ids()` were added in [29965] and appear to never have been used.
* `$wpdb` in `WP_Comment_Query::fill_descendants()` was replaced with `$this->db` in [38275], removed in [38446], and accidentally reinstated in [38768].
Follow-up to [29965], [34546], [37625], [38275], [38446], [38768], [44546].
Props upadalavipul, dingo_d, audrasjb, SergeyBiryukov.
Fixes#57482.
git-svn-id: https://develop.svn.wordpress.org/trunk@55559 602fd350-edb4-49c9-b593-d223f7449a82
Remove usage of `mysql2date` in `generate_postdata`. `mysql2date` has a performance overhead, as it creates a `DateTimeZone` object each time it is called. Use a simple
sub string function to generate the values needed for the `currentmonth` and `currentday` global variables.
Props spacedmonkey, Rarst, SergeyBiryukov, flixos90.
Fixes#57683.
git-svn-id: https://develop.svn.wordpress.org/trunk@55558 602fd350-edb4-49c9-b593-d223f7449a82
This is a maintenance release with a new feature: DSN URL parsing, which allows you to create a PHPMailer instance with most important settings by passing in a single URL, ideal for configuring PHPMailer from an environment variable.
Note: This commit does not include new DSN class, as it is not particularly relevant for WordPress core at this time.
References:
* [https://github.com/PHPMailer/PHPMailer/releases/tag/v6.8.0 PHPMailer 6.8.0 release notes]
* [https://github.com/PHPMailer/PHPMailer/compare/v6.7...v6.8.0 Full list of changes in PHPMailer 6.8.0]
Follow-up to [50628], [50799], [51169], [51634], [51635], [52252], [52749], [52811], [53500], [53535], [53917], [54427], [54937].
Props ayeshrajans, jrf, Synchro.
Fixes#57873.
git-svn-id: https://develop.svn.wordpress.org/trunk@55557 602fd350-edb4-49c9-b593-d223f7449a82
While `WP_HTML_Tag_Processor` currently only supports changing a given tag's attributes, the plan is to provide methods to make broader changes (possibly through a subclass of `WP_HTML_Tag_Processor`). The API will have the potential of replacing a tag that a bookmark points to. To prepare, this changeset makes sure that all bookmarks affected by a HTML replacement are invalidated (i.e. released).
Changes:
* Extends the existing loop in `WP_HTML_Tag_Processor::apply_attributes_updates()` that adjusts bookmarks' start and end positions upon HTML changes to check if the entire bookmark is within a portion of the HTML that has been replaced.
* Adds `WP_HTML_Tag_Processor::has_bookmark() to check whether the given bookmark name exists.
References:
* [https://github.com/WordPress/gutenberg/pull/47559 Gutenberg PR 47559]
* [https://github.com/WordPress/gutenberg/releases/tag/v15.3.0 Released in Gutenberg 15.3.0]
Follow-up to [55203].
Props bernhard-reiter, dmsnell, zieladam.
Fixes#57788.
git-svn-id: https://develop.svn.wordpress.org/trunk@55555 602fd350-edb4-49c9-b593-d223f7449a82
In [41376] an inline script was added to push `idBases` for the custom html and text widgets. However, this script is not used unless the widget script is output in the widget screen / customizer. Deferring registering this script until it is needed, results in a faster server response times.
Props spacedmonkey, sakibmd, flixos90, westonruter.
Fixes#57864.
git-svn-id: https://develop.svn.wordpress.org/trunk@55553 602fd350-edb4-49c9-b593-d223f7449a82
Includes:
* Capitalizing "ID" in a consistent way.
* Expanding the comment on not using `filter_var()`.
* Adding a `@covers` tag for the function in unit tests.
* Minor tweak to the `_doing_it_wrong()` message.
Follow-up to [53818], [55543].
See #57593.
git-svn-id: https://develop.svn.wordpress.org/trunk@55549 602fd350-edb4-49c9-b593-d223f7449a82
This resolves two WPCS errors:
{{{
String ".css" does not require double quotes; use single quotes instead
String "-rtl.css" does not require double quotes; use single quotes instead
}}}
Follow-up to [55544].
See #57903.
git-svn-id: https://develop.svn.wordpress.org/trunk@55547 602fd350-edb4-49c9-b593-d223f7449a82
If `SCRIPT_DEBUG` is disabled, `register_block_style_handle()` loads core blocks' styles with the `.min` suffix, while non-core ones never use the minified files, but the suffix was still mistakenly included in the `-rtl` file lookup.
This commit updates the logic to match the style path set earlier in the function, ensuring that RTL stylesheets are loaded properly for both core and non-core blocks, with or without `SCRIPT_DEBUG`.
Follow-up to [49982], [50836], [54330], [55486].
Props david.binda.
Fixes#57903.
git-svn-id: https://develop.svn.wordpress.org/trunk@55544 602fd350-edb4-49c9-b593-d223f7449a82
Sanitize the array of ids passed to the `_get_non_cached_ids` function and add a `_doing_it_wrong` call, if an invalid type is passed.
Props tillkruess, spacedmonkey, peterwilsoncc, flixos90, SergeyBiryukov.
Fixes#57593.
git-svn-id: https://develop.svn.wordpress.org/trunk@55543 602fd350-edb4-49c9-b593-d223f7449a82
Improves the performance of wp_render_layout_support_flag() function by moving variables to where each is used.
If a return happens before the variable is needed, this change avoids unnecessary processing and memory.
Props spacedmonkey, hellofromTonya, mukesh27.
Fixes#57815.
git-svn-id: https://develop.svn.wordpress.org/trunk@55541 602fd350-edb4-49c9-b593-d223f7449a82
The `wp_get_referer()` and `wp_get_original_referer()` functions both depend on `wp_validate_redirect()` and check whether it is defined by the time they run, but do so in a slightly different way.
This commit ensures both functions return early if they are called before `wp_validate_redirect()` is defined.
Follow-up to [3908], [25399], [25400].
See #57839.
git-svn-id: https://develop.svn.wordpress.org/trunk@55540 602fd350-edb4-49c9-b593-d223f7449a82
Includes clarifying the list of fields passed to the `xmlrpc_default_*_fields` filters by default.
Follow-up to [16046], [17647], [27730], [32550], [37492], [55316].
See #57840.
git-svn-id: https://develop.svn.wordpress.org/trunk@55539 602fd350-edb4-49c9-b593-d223f7449a82
Fixes a bug introduced in [55526]. The cache groups `network-queries` and `site-queries` store query results for network and site. These are network level data and should be stored in a global cache group.
Props spacedmonkey, tillkruess, flixos90.
See #57625.
git-svn-id: https://develop.svn.wordpress.org/trunk@55537 602fd350-edb4-49c9-b593-d223f7449a82
Give developers more control over how query caches are handled within an object caches. Now all caches that cache the result of a query, are cached in a group that is suffixed with -queries. Developers can use these groups, to add custom cache invalidation rules or to make them none persistent.
Props spacedmonkey, owi, tillkruess, skithund, peterwilsoncc, flixos90, sergeybiryukov, mukesh27.
Fixes#57625.
git-svn-id: https://develop.svn.wordpress.org/trunk@55526 602fd350-edb4-49c9-b593-d223f7449a82
Replace usage of the function get_blog_details with more lightweight get_site.
Props spacedmonkey, kapilpaul, flixos90.
Fixes#57571.
git-svn-id: https://develop.svn.wordpress.org/trunk@55515 602fd350-edb4-49c9-b593-d223f7449a82
Save a call to wp_timezone in mysql2date by saving the timezone to a variable and pass it into wp_date function call.
Props spacedmonkey, costdev, SergeyBiryukov, audrasjb.
Fixes#57705.
git-svn-id: https://develop.svn.wordpress.org/trunk@55514 602fd350-edb4-49c9-b593-d223f7449a82
Combine the 2 translatable strings into 1 string. Why? The example URL does not require a separate translation. Combining makes the string easier to view in context.
Follow-up to [55500].
Props SergeyBiryukov.
See #57892.
git-svn-id: https://develop.svn.wordpress.org/trunk@55501 602fd350-edb4-49c9-b593-d223f7449a82
The template descriptions in `get_default_block_template_types()` are updated to add more details. Why? These descriptions are now more prominent in 6.2 to provide a better UX experience with more helpful information.
References:
* [https://github.com/WordPress/gutenberg/pull/48934 Gutenberg PR 48934]
Follow-up to [54761], [54104], [54269], [53129], [52331], [52062].
Props ntsekouras, andrewserong, bph, davidbaumwald, greenshady, glendaviesnz, hellofromTonya, jameskoster, mamaduka, peterwilsoncc, sabernhardt, SergeyBiryukov.
Fixes#57892.
git-svn-id: https://develop.svn.wordpress.org/trunk@55500 602fd350-edb4-49c9-b593-d223f7449a82
Updates the `@wordpress` packages to include the following changes:
- Site Editor: Move "Add Template"'s descriptions to tooltips
- Update template descriptions with more detail
- Distraction Free Mode: Don't show the metaboxes
- Remove actions from SidebarNavigationScreenWrapper
- Fix: Navigation sidebar shows a wrong submenu popover.
- Fix: Site button metrics
- Fix navigation block off-canvas appender for empty menus
- Style Book: Move iframe to root of content area to support styles that overflow block previews
- Fix navigation block off-canvas appender for empty
Reference:
* [446428841b Package publish commit in Gutenberg]
Follow-up to [55475].
Props mamaduka.
See #57471.
git-svn-id: https://develop.svn.wordpress.org/trunk@55496 602fd350-edb4-49c9-b593-d223f7449a82
After the introduction of `_make_clickable_rel_attr()` in an earlier commit, the function ended up returning link markup with a mix of single and double quotes.
This commit ensures that `_make_web_ftp_clickable_cb()` always returns double quotes, restoring consistency with other similar callback functions used by `make_clickable()`:
* `_make_url_clickable_cb()`
* `_make_email_clickable_cb()`
Follow-up to [55289].
See #53290, #56444.
git-svn-id: https://develop.svn.wordpress.org/trunk@55495 602fd350-edb4-49c9-b593-d223f7449a82
[54860] caused a regression. Changes to a parent theme's template part (i.e.e when a child theme does not override that template part) no longer saved in the Site Editor. Reverting the changeset resolves the regression.
Props mreishus, hellofromTonya, azaozz, ironprogrammer, antonvlasenko.
Fixes#57630.
See #55437.
git-svn-id: https://develop.svn.wordpress.org/trunk@55493 602fd350-edb4-49c9-b593-d223f7449a82