This change prevents a PHP deprecation notice in the new `apply_block_hooks_to_content_from_post_object()` function, introduced in r59838.
Fixes#62716.
git-svn-id: https://develop.svn.wordpress.org/trunk@59839 602fd350-edb4-49c9-b593-d223f7449a82
Introduce a new function, `apply_block_hooks_to_content_from_post_object`, to colocate the logic used to temporarily wrap content in a parent block (with `ignoredHookedBlocks` information fetched from post meta) alongside the call to `apply_block_hooks_to_content`. Fetching that information from post meta is required for all block types that get their content from post objects, i.e. Post Content, Synced Pattern, and Navigation blocks.
Additionally, the newly introduced function contains logic to ensure that insertion of a hooked block into the `first_child` or `last_child` position of a given Post Content block works, even if that block only contains "classic" markup (i.e. no blocks).
Props bernhard-reiter, gziolo, mamaduka.
Fixes#61074, #62716.
git-svn-id: https://develop.svn.wordpress.org/trunk@59838 602fd350-edb4-49c9-b593-d223f7449a82
This changeset adds support for the Speculation Rules API and configures it by default to `prefetch` certain links with an eagerness of `conservative`, leading to improved performance by starting to load URLs before the user lands on them.
The new `WP_Speculation_Rules` class is a container class representing the set of used speculation rules. By default, WordPress Core will only add a single speculation rule, which results in most links being prefetched conservatively.
The behavior of that main speculation rule can be altered by using the new `wp_speculation_rules_configuration` filter, which receives an associative array with `mode` and `eagerness` keys, or `null`. Both `mode` and `eagerness` have a default value of `auto`, which for now will result in the aforementioned behavior. The value `null` is used by default in certain scenarios such as when the current user is logged in. Developers can explicitly provide supported mode values (`prefetch` or `prerender`) and other supported eagerness values (`conservative`, `moderate`, or `eager`) to override and enforce the respective behaviors, or return `null` to disable speculative loading feature (either unconditionally or for certain situations). The Speculative Loading feature plugin for example, which this feature is based on, will make use of this filter to continue to use mode `prerender` and eagerness `moderate` by default. Developers can call the `wp_get_speculation_rules_configuration()` function to check how speculative loading is configured on the WordPress site.
Another important filter introduced is `wp_speculation_rules_href_exclude_paths`, which allows to expand the list of URL patterns that are excluded from being prefetched or prerendered per WordPress Core's main speculation rule configuration. Several URL patterns such `/wp-admin/*` (any URL within WP Admin) or `/*\\?(.+)` (any URL that includes query parameters) are already excluded by default. Plugins that use content that would be preferable not to prefetch or prerender can use the filter to provide corresponding URL patterns.
More advanced customization is possible by adding further speculation rules that will be loaded in addition to WordPress Core's main speculation rule. This can be achieved via the new `wp_load_speculation_rules` action, which receives the `WP_Speculation_Rules` class instance and can amend it as needed.
Props flixos90, westonruter, joemcgill, desrosj, mukesh27, tunetheweb, thelovekesh, adamsilverstein, swissspidy, domenicdenicola, jeremyroman.
Fixes#62503.
git-svn-id: https://develop.svn.wordpress.org/trunk@59837 602fd350-edb4-49c9-b593-d223f7449a82
Due to concatenation directly above, this value can only be a string.
Follow-up to [28130], [48929].
See #62281.
git-svn-id: https://develop.svn.wordpress.org/trunk@59836 602fd350-edb4-49c9-b593-d223f7449a82
This changeset replaces the `word-break: break-all` CSS declaration added to the `.upload-error-filename` element with the common class `word-wrap-break-word`, for better maintainability.
Follow-up to [59834].
Props sabernhardt.
Fixes#62980.
git-svn-id: https://develop.svn.wordpress.org/trunk@59835 602fd350-edb4-49c9-b593-d223f7449a82
This changeset resolves an issue where long filenames in the media uploader modal would overflow their container. By adding `word-break: break-all;` to the `.upload-error-filename` class, filenames now properly break into multiple lines.
Props kharisblank, audrasjb, sainathpoojary.
Fixes#62980.
git-svn-id: https://develop.svn.wordpress.org/trunk@59834 602fd350-edb4-49c9-b593-d223f7449a82
There is no need to support HTML in this string and switching to `innerText` helps facilitate a more restrictive Content Security Policy.
Props micromadness, sabernhardt
Fixes#58765
git-svn-id: https://develop.svn.wordpress.org/trunk@59831 602fd350-edb4-49c9-b593-d223f7449a82
Passwords and security keys that were saved in prior versions of WordPress will continue to work. Each user's password will be opportunistically rehashed and resaved when they next subsequently log in using a valid password.
The following new functions have been introduced:
* `wp_password_needs_rehash()`
* `wp_fast_hash()`
* `wp_verify_fast_hash()`
The following new filters have been introduced:
* `password_needs_rehash`
* `wp_hash_password_algorithm`
* `wp_hash_password_options`
Props ayeshrajans, bgermann, dd32, deadduck169, desrosj, haozi, harrym, iandunn, jammycakes, joehoyle, johnbillion, mbijon, mojorob, mslavco, my1xt, nacin, otto42, paragoninitiativeenterprises, paulkevan, rmccue, ryanhellyer, scribu, swalkinshaw, synchro, th23, timothyblynjacobs, tomdxw, westi, xknown.
Additional thanks go to the Roots team, Soatok, Calvin Alkan, and Raphael Ahrens.
Fixes#21022, #44628
git-svn-id: https://develop.svn.wordpress.org/trunk@59828 602fd350-edb4-49c9-b593-d223f7449a82
Remove `role="presentation"` from headings in the customizer. These were needed to avoid confusing semantics when the headings also acted as buttons to control accordions, changed in [59924].
Change responsive CSS to use `screen-reader-text` styling rather than `display: none` so that mobile retains the headings hierarchy.
Props joedolson, hbhalodia, mikinc860, guillaumeturpin, rcreators, tirth03, dhrumilk .
Fixes#62215.
git-svn-id: https://develop.svn.wordpress.org/trunk@59825 602fd350-edb4-49c9-b593-d223f7449a82
This change also standardises some descriptions of the timestamp field used in various functions.
Props infosatech, peterwilsoncc
Fixes#52655
git-svn-id: https://develop.svn.wordpress.org/trunk@59824 602fd350-edb4-49c9-b593-d223f7449a82
This function and filter complement the existing `wp_should_load_separate_core_block_assets()` with filter `'should_load_separate_core_block_assets'`, which until now was responsible for two different purposes:
1. Loading separate stylesheets for Core blocks, instead of a combined `wp-block-library` stylesheet (as the name indicates).
2. Loading block scripts and stylesheets on demand only if the blocks are included in the page (not indicated by the name).
The new function and filter handles exclusively the 2nd purpose, making it possible to individually adjust both behaviors. For backward compatibility, the return value of `wp_should_load_separate_core_block_assets()` is used as the filterable default for `wp_should_load_block_assets_on_demand()`. Yet, the two filters can now be individually be controlled: For example, a site owner that wants to keep loading the combined `wp-block-library` stylesheet can now do so without giving up on the ability to load block scripts and stylesheets on demand.
Block themes now opt in by default to both features, similar to how they were already doing before via just the one filter. This way, block themes that opt out of loading separate stylesheets for Core blocks will still benefit from loading block scripts and stylesheets on demand, which in the case of block themes is strongly recommended.
Props fabiankaegy, flixos90, gziolo.
Fixes#61965.
git-svn-id: https://develop.svn.wordpress.org/trunk@59823 602fd350-edb4-49c9-b593-d223f7449a82
Increase the z-index of sidebar submenus in the theme browser screens so that submenus are not placed behind the theme details overlay. Also set a min-height to ensure the overlay covers the entire screen if content is short.
Props codexdemon, amolebonde, yahil, girishpanchal, chintanmachhi207, mp518, janak007, worldweb, ralessio, sabernhardt, boogah, mikinc860, adamsilverstein, subrataemfluence, huzaifaalmesbah, lakshmananphp, amin7, imranhasanraaz, mdibrahimk48.
Fixes#41155.
git-svn-id: https://develop.svn.wordpress.org/trunk@59821 602fd350-edb4-49c9-b593-d223f7449a82
Rename the group in `tests/phpunit/tests/rest-api/wpIsRestEndpoint.php` to `restapi` for consistency with the group name used by other REST API related tests.
Follow up to [57312].
See #62280.
git-svn-id: https://develop.svn.wordpress.org/trunk@59820 602fd350-edb4-49c9-b593-d223f7449a82
Introduced caching for the `count_user_posts` function to reduce redundant database queries. This ensures better performance by storing and reusing query results when possible. Additionally, sanitized and sorted the `$post_type` array to avoid invalid queries.
Props spacedmonkey, peterwilsoncc, mamaduka, flixos90, johnjamesjacoby, swissspidy, dilip2615, johnregan3, wpgurudev, desrosj, milindmore22, Krstarica, dilipom13.
Fixes#39242.
git-svn-id: https://develop.svn.wordpress.org/trunk@59817 602fd350-edb4-49c9-b593-d223f7449a82
This complements the existing workflow which tests upgrading to an already released version.
Props johnbillion, peterwilsoncc, mukesh27, desrosj, audrasjb, joemcgill.
See #62221
git-svn-id: https://develop.svn.wordpress.org/trunk@59815 602fd350-edb4-49c9-b593-d223f7449a82
Fixes a bug in the manipulation of selectors for block style variations that would result in an incorrect selector and fail to match the appropriate elements on the frontend.
Props aaronrobertshaw, ramonopoly, joemcgill.
Fixes#62471.
git-svn-id: https://develop.svn.wordpress.org/trunk@59814 602fd350-edb4-49c9-b593-d223f7449a82
This changeset replaces the hardcoded hash symbol with running `maybe_hash_hex_color()` on the full `background-color` value provided via the custom background feature, so the hash is only added if it is needed. By doing so, if a theme developer sets a background color value that uses a hash (#), WordPress won't add an additional hash anymore when outputting the relevant CSS. Duplicate hash symbols (##) can break CSS background color declarations.
Props hovhanneshovakimyan, joyously, poena,
Fixes#40057.
git-svn-id: https://develop.svn.wordpress.org/trunk@59813 602fd350-edb4-49c9-b593-d223f7449a82
This allows `seek()` to be freely called when the current cursor at the provided bookmark.
Props dmsnell, jonsurrell, westonruter.
Fixes#62085.
git-svn-id: https://develop.svn.wordpress.org/trunk@59812 602fd350-edb4-49c9-b593-d223f7449a82
This extension provides the `hash()` function and support for the SHA-256 algorithm, both of which are required for upcoming security related changes. This extension is almost universally enabled, however it is technically possible to disable it on PHP 7.2 and 7.3, hence the introduction of this requirement and the corresponding requirement checks prior to installing or upgrading WordPress.
Props peterwilsoncc, ayeshrajans, dd32, SergeyBiryukov, johnbillion.
Fixes#60638, #62815, #56017
See #21022
git-svn-id: https://develop.svn.wordpress.org/trunk@59803 602fd350-edb4-49c9-b593-d223f7449a82
Fixes an issue where block style variations containing inner block type and element styles would have those inner styles stripped when the user attempting to save Global Styles does not have the `unfiltered_html` capability.
Props aaronrobertshaw, mukesh27, andrewserong.
Fixes#62372.
git-svn-id: https://develop.svn.wordpress.org/trunk@59802 602fd350-edb4-49c9-b593-d223f7449a82
Introduce `ignore_sticky` as a boolean argument for the posts endpoint for requests without the sticky posts being stuck. The new argument defaults to `false` with the value of the argument passed to `WP_Query`'s `ignore_sticky_posts` parameter.
Props audrasjb, danielbachhuber, joemcgill, johnbillion, jorbin, mamaduka, rmccue.
Fixes#35907.
git-svn-id: https://develop.svn.wordpress.org/trunk@59801 602fd350-edb4-49c9-b593-d223f7449a82
This cron event is not used when Multisite is in use.
Props debarghyabanerjee, johnbillion, narenin
Fixes#61450
git-svn-id: https://develop.svn.wordpress.org/trunk@59798 602fd350-edb4-49c9-b593-d223f7449a82
`matchdep` was introduced in [25243] to more easily manage `grunt-*` dependencies. The package has effectively been abandoned upstream, and the functionality can be replaced with a simple loop.
Props desrosj, spacedmonkey, swissspidy.
See #62221.
git-svn-id: https://develop.svn.wordpress.org/trunk@59797 602fd350-edb4-49c9-b593-d223f7449a82
For the Post Editor, preload '/wp/v2/global-styles/' . $global_styles_id with a context corresponding to user caps, that is, 'edit' for users that can edit global styles, and 'view' for everyone else.
Preloading the global styles endpoint according to role context means that admins and non admins, e.g., editors, avoid unnecessary client side requests.
Props ramonopoly.
Fixes#62322.
git-svn-id: https://develop.svn.wordpress.org/trunk@59795 602fd350-edb4-49c9-b593-d223f7449a82
The site editor now uses path based routing rather than query string arguments. This redirects the legacy query string URLs to the new routing.
Props youknowriad, peterwilsoncc, joemcgill, mukesh27, poena.
Fixes#62585.
git-svn-id: https://develop.svn.wordpress.org/trunk@59794 602fd350-edb4-49c9-b593-d223f7449a82
Updates the enqueued styles in various editors to remove target styles more precisely to where they are needed.
Removes the following stylesheets as dependencies of `wp-edit-blocks`:
* `wp-editor`
* `wp-reusable-blocks`
* `wp-patterns`
The `wp-editor` stylesheet is targeted to the items requiring the CSS:
* `edit-widgets`
* `customize-widgets`
* `edit-site`
Props ellatrix, youknowriad.
Fixes#62266, #62274.
git-svn-id: https://develop.svn.wordpress.org/trunk@59793 602fd350-edb4-49c9-b593-d223f7449a82
This changeset improves a bunch of error messages, notably replacing the good old cryptic "Something went wrong" message with more helpful information.
Props peterwilsoncc, netweb, karmatosed, JoshuaWold, mrtortai, audrasjb, sukhendu2002, joedolson.
Fixes#43622.
git-svn-id: https://develop.svn.wordpress.org/trunk@59790 602fd350-edb4-49c9-b593-d223f7449a82
This changeset improves a bunch of WP-Admin error messages, notably replacing the good old cryptic "Something went wrong" message with more helpful information.
Props peterwilsoncc, netweb, karmatosed, JoshuaWold, mrtortai, audrasjb, sukhendu2002, joedolson.
See #43622.
git-svn-id: https://develop.svn.wordpress.org/trunk@59789 602fd350-edb4-49c9-b593-d223f7449a82