Commit Graph

11048 Commits

Author SHA1 Message Date
Sergey Biryukov
37f0f960ef Mail: Make sure the SMTP class is only required once if a plugin requires wp-includes/class-smtp.php directly.
Follow-up to [48033], [48530].

Props oellin, greatsaltlake, audrasjb.
Fixes #52369. See #50716, #41750.

git-svn-id: https://develop.svn.wordpress.org/trunk@50022 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-26 13:44:42 +00:00
Jonathan Desrosiers
9983be3248 Build/Test Tools: Update autoprefixer dependency.
This updates `autoprefixer` from version `9.6.2` to `9.8.6`. This includes changes as a result of running `npm run grunt precommit:css`.

See #51801.

git-svn-id: https://develop.svn.wordpress.org/trunk@50017 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-25 14:49:13 +00:00
Sergey Biryukov
004d7a34cf Toolbar: Update Documentation and Support links.
This replaces the Codex URL in the "WordPress" section of the admin bar with the HelpHub URL, and updates the Support link to point to the forums.

Follow-up to [45140], [45412].

Props audrasjb.
Fixes #52352. See #46790, #47239.

git-svn-id: https://develop.svn.wordpress.org/trunk@50015 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-25 12:52:22 +00:00
Gary Pendergast
6840112825 Menus: Make use of wp_resolve_post_date() when updating menu items.
This allows a menu item `post_date` to be set to particular value, rather than only allowing it to be set to "now". In particular, the WordPress Importer can use this to perform faster, more accurate duplicate checks.

Props jmdodd.
Fixes #52189.



git-svn-id: https://develop.svn.wordpress.org/trunk@50013 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-25 01:22:06 +00:00
Gary Pendergast
e2bb95aa50 Posts: Create a new function for resolving the post date.
`wp_insert_post()` has a few checks using `post_date` and `post_date_gmt`, to determine the correct post date. This functionality is now extracted out into a new `wp_resolve_post_date()` function, allowing the checks to be reused elsewhere.

Props jmdodd.
Fixes #52187.



git-svn-id: https://develop.svn.wordpress.org/trunk@50012 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-25 01:06:25 +00:00
Timothy Jacobs
0ceee0f871 REST API: Support type coercion when validating the enum JSON Schema keyword.
Previously, the `enum` keyword was validated by perform a strict equality check. For `string` types this is generally ok, but it prevented using alternative types like `number` when rich type support isn't available.

Now the same level of type coercion/sanitization is applied when validating `enum` as all other validation checks. This means that a value of `"1"` will be accepted for an `enum` of `[ 0, 1 ]`. Additionally, `object` types now properly ignore key order when checking for equality.

Props yakimun.
Fixes #51911.


git-svn-id: https://develop.svn.wordpress.org/trunk@50010 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-24 16:50:39 +00:00
Sergey Biryukov
e4e24c84de Docs: Correct default value for the number argument of wp_tag_cloud().
Follow-up to [42658].

Props audrasjb, pawki07.
Fixes #52348.

git-svn-id: https://develop.svn.wordpress.org/trunk@50009 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-24 14:06:15 +00:00
Timothy Jacobs
15c8166424 REST API: Add more specific error codes for schema validation.
Previously, the majority of JSON Schema validation errors returned a generic `rest_invalid_param` error code. In preparation for #46191, where the underlying validation error code will be exposed, this commit adds specific error codes for each failure scenario.

Fixes #52317.


git-svn-id: https://develop.svn.wordpress.org/trunk@50007 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-24 03:57:39 +00:00
Timothy Jacobs
ffd7fd8168 App Passwords: Extract Basic Auth check into a reusable filterable function.
In [49752] a check was added to prevent creating new Application Passwords if Basic Auth credentials were detected to prevent conflicts. This check takes place in WP-Admin, though a conflict would only arise if Basic Auth was used on the website's front-end.

This commit extracts the Basic Auth check into a reusable function, `wp_is_site_protected_by_basic_auth()`, which can be adjusted using a filter of the same name. This way, a site that uses Basic Auth to protect WP-Admin can still use the Application Passwords feature.

In the future, instead of requiring the use of a filter, WordPress could make a loopback request and check for a `WWW-Authenticate` header to make this detection more robust out of the box.

Props SeBsZ, archon810, aaroncampbell, ocean90, SergeyBiryukov, TimothyBlynJacobs.
Fixes #52066.


git-svn-id: https://develop.svn.wordpress.org/trunk@50006 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-24 02:56:18 +00:00
Timothy Jacobs
bb395706f4 REST API: Support embedding links in rest_preload_api_request().
Props lpawlik, spacedmonkey.
Fixes #51722.


git-svn-id: https://develop.svn.wordpress.org/trunk@50005 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-23 23:25:40 +00:00
Sergey Biryukov
c145ff4a1a 5.7-alpha-50000 🎉🙌❤️
Thank you for the past
Excited for the future
We are #WordPressStrong!

git-svn-id: https://develop.svn.wordpress.org/trunk@50000 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-21 12:37:39 +00:00
Felix Arntz
176a1f53f0 Robots: Introduce Robots API.
This changeset introduces a filter-based Robots API, providing central control over the `robots` meta tag.

* Introduces `wp_robots()` function which should be called anywhere a `robots` meta tag should be included.
* Introduces `wp_robots` filter which allows adding or modifying directives for the `robots` meta tag. The `wp_robots()` function is entirely filter-based, i.e. if no filter is added to `wp_robots`, no directives will be present, and therefore the entire `robots` meta tag will be omitted.
* Introduces the following `wp_robots` filter functions which replace similar existing functions that were manually rendering a `robots` meta tag:
    * `wp_robots_noindex()` replaces `noindex()`, which has been deprecated.
    * `wp_robots_no_robots()` replaces `wp_no_robots()`, which has been deprecated.
    * `wp_robots_sensitive_page()` replaces `wp_sensitive_page_meta()`, which has been deprecated. Its rendering of the `referrer` meta tag has been moved to another new function `wp_strict_cross_origin_referrer()`.

Migration to the new functions is straightforward. For example, a call to `add_action( 'wp_head', 'wp_no_robots' )` should be replaced with `add_filter( 'wp_robots', 'wp_robots_no_robots' )`.

Plugins and themes that render their own `robots` meta tags are encouraged to switch to rely on the `wp_robots` filter in order to use the central management layer now provided by WordPress core.

Props adamsilverstein, flixos90, timothyblynjacobs, westonruter.
See #51511.


git-svn-id: https://develop.svn.wordpress.org/trunk@49992 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-21 01:35:16 +00:00
Jonathan Desrosiers
51fe5978b6 Build/Test Tools: Update CSS files after grunt precommit:css.
This removes instances of the `-moz-user-select` property, which was required until Firefox 68.

Firefox is currently in version 84, so these can safely be removed.

Fixes #52332.

git-svn-id: https://develop.svn.wordpress.org/trunk@49991 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-20 19:05:39 +00:00
Peter Wilson
0839d27da9 Media: Ensure get_post_status() does not contain half a comment.
Removes a misplaced comment, follow up to [49985].

Props SergeyBiryukov.
Fixes #52326.



git-svn-id: https://develop.svn.wordpress.org/trunk@49986 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-20 04:58:20 +00:00
Peter Wilson
56939ff70e Media: Ensure get_post_status() returns correct result for attachments.
Prevent `get_post_status()` returning `false` for attachments if the parent post has been deleted. The returned attachment post status is now passed through the `get_post_status` filter.

Add tests for `get_post_status()`.

Props peterwilsoncc, timothyblynjacobs for review.
Fixes #52326.



git-svn-id: https://develop.svn.wordpress.org/trunk@49985 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-20 04:39:24 +00:00
Greg Ziółkowski
f84ebe3fe7 Blocks: Add automatic RTL handlind for block styles registered from metadata
Related Gutenberg issue: https://github.com/WordPress/gutenberg/pull/28274

With this change it is going to be possible to use the same pattern that wp_style_add_data uses for RTL handling. If the block style file with "-rtl.css" is included in addition to the regular style referenced in "block.json" file then it is going to be automatically registered.

Props swisspidy, aristath.
See #52301.



git-svn-id: https://develop.svn.wordpress.org/trunk@49982 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-19 11:48:59 +00:00
Greg Ziółkowski
edd77c0791 Blocks: Add i18n support to register_block_type_from_metadata
Related Gutenberg issue: https://github.com/WordPress/gutenberg/issues/23636.
Related WP-CLI PR: https://github.com/wp-cli/i18n-command/pull/210.
Related documentation proposal: https://github.com/WordPress/gutenberg/blob/master/docs/designers-developers/developers/block-api/block-metadata.md#internationalization-not-implemented

Adds programatic i18n support to `register_block_type_from_metadata` function for block settings registered from `block.json` file that provides `textdomain` field.


Props swissspidy, ocean90.
Fixes #52301.



git-svn-id: https://develop.svn.wordpress.org/trunk@49981 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-19 11:04:03 +00:00
Sergey Biryukov
b6830fabc4 Media: Use consistent method for instantiating an attachment author object in Media Library.
Previously, attachments without an author could cause a PHP fatal error due to calling the `::exists()` method on a `false` value.

Props antpb, carloscastilloadhoc, hellofromTonya, garrett-eclipse.
Fixes #52030.

git-svn-id: https://develop.svn.wordpress.org/trunk@49979 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-18 12:53:30 +00:00
Sergey Biryukov
cfa490b16b Docs: Link to the parent function for accepted arguments in some filters for HTML output.
See #51800.

git-svn-id: https://develop.svn.wordpress.org/trunk@49977 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-18 12:26:50 +00:00
Sergey Biryukov
ca5538dda3 Posts, Post Types: Introduce a filter paginate_links() output.
Props sabernhardt, audrasjb, re.ardestani.
Fixes #44018.

git-svn-id: https://develop.svn.wordpress.org/trunk@49976 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-18 12:05:06 +00:00
Sergey Biryukov
fdd9fa6107 Privacy: Use more consistent wording for strings related to personal data requests.
This replaces "user privacy" in various error messages with "personal data", for consistency with other existing strings.

Follow-up to [49090].

Props xkon, transl8or.
Fixes #51849.

git-svn-id: https://develop.svn.wordpress.org/trunk@49970 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-17 17:45:01 +00:00
Sergey Biryukov
698f341e1c Docs: Correct description for wp_slash() and wp_unslash().
The array received or returned by these functions is not always an array of strings, for example when slashing or unslashing an array of arrays.

Follow-up to [47400], [48441], [49926].

Props johnbillion.
See #51800.

git-svn-id: https://develop.svn.wordpress.org/trunk@49968 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-17 16:36:14 +00:00
Dominik Schilling
d1ac4cd40a I18N: Add support for German (Austria) locale in remove_accents().
Props patopaiar, nonverbla.
Fixes #52110.

git-svn-id: https://develop.svn.wordpress.org/trunk@49967 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-17 15:44:04 +00:00
Timothy Jacobs
244e4d4e63 REST API: Allow sending an empty array to delete multi meta keys.
Previously, only `null` was supported.

Fixes #50790.
Props chrisvanpatten.


git-svn-id: https://develop.svn.wordpress.org/trunk@49966 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-17 00:49:39 +00:00
Sergey Biryukov
994e657e74 Coding Standards: Fix WPCS issue in [49963].
Props pawki07, mukesh27.
Fixes #52316. See #51800.

git-svn-id: https://develop.svn.wordpress.org/trunk@49965 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-16 17:19:00 +00:00
Sergey Biryukov
fbab01c8ce Docs: In various @return tags, list the expected type first, instead of false.
Follow-up to [46696], [47060], [49926], [49927], [49929].

See #51800.

git-svn-id: https://develop.svn.wordpress.org/trunk@49963 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-15 20:06:50 +00:00
Peter Wilson
495e236505 Build/Test Tools: Update script loader following [49933].
See #51801.


git-svn-id: https://develop.svn.wordpress.org/trunk@49959 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-14 02:22:26 +00:00
John Blackbourn
6aca60d33a REST API: Corrections and improvements to docblocks for REST API filters.
See #51800


git-svn-id: https://develop.svn.wordpress.org/trunk@49955 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-10 22:21:39 +00:00
Timothy Jacobs
1f2695ed1f REST API: Fix fatal error on multisite when calling the single item plugin routes.
The `is_network_only_plugin` and `is_plugin_active` functions are not available in a front-end context and must be specifically loaded.

Props oakesjosh.
Fixes #52205.


git-svn-id: https://develop.svn.wordpress.org/trunk@49952 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-09 20:20:44 +00:00
Sergey Biryukov
fdfe183017 Accessibility: Customize: Add an empty alt attribute to the <img> tag used as a hidden placeholder in the Customizer preview when no logo is chosen.
Per accessibility best practices, it is recommended that all HTML `<img>` elements have an `alt` attribute. Any decorative images should have an empty `alt` attribute (`alt=""`).

Props laxman-prajapati, sabernhardt, audrasjb.
Fixes #51846.

git-svn-id: https://develop.svn.wordpress.org/trunk@49949 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-08 16:53:50 +00:00
Greg Ziółkowski
bb01f0187c Editor: Support filtering arguments in block type registration from metadata
Adds 2 new hooks in `register_block_type_from_metadata`:

- Named `block_type_metadata` to filter the content of metadata read from `block.json`
- Named `block_type_metadata_settings` to filter the settings object determined from the metadata that is passed to `register_block_type` call

Props swissspidy.
Fixes #52138.



git-svn-id: https://develop.svn.wordpress.org/trunk@49948 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-08 16:43:29 +00:00
John Blackbourn
cf68c90021 Taxonomy: Correct and clarify documentation for the return types of term query functions.
See #51800, #38266


git-svn-id: https://develop.svn.wordpress.org/trunk@49947 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-08 15:22:17 +00:00
John Blackbourn
31476dc27c Plugins: Replace usage of $this in action and filter parameter docblocks with more appropriate variable names.
See #51800, #52217

Fixes #52243


git-svn-id: https://develop.svn.wordpress.org/trunk@49946 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-08 14:28:46 +00:00
John Blackbourn
de330964b1 Docs: Miscellaneous docblock corrections and improvements.
See #51800.

git-svn-id: https://develop.svn.wordpress.org/trunk@49942 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-07 14:15:27 +00:00
Sergey Biryukov
7c0d1208fb Docs: Correct description for wp_parse_list().
The function simply converts a comma- or space-separated list of scalar values to an array and does not perform any sanitization on its own.

Follow-up to [44546].

Props johnjamesjacoby.
See #51800.

git-svn-id: https://develop.svn.wordpress.org/trunk@49941 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-06 17:23:53 +00:00
John Blackbourn
8153c8ba02 Docs: Corrections and improvements to types used in various docblocks.
See #51800, #52217


git-svn-id: https://develop.svn.wordpress.org/trunk@49936 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-05 17:14:24 +00:00
Sergey Biryukov
5c82078df7 Docs: Use more consistent descriptions for void|false return values.
See #51800.

git-svn-id: https://develop.svn.wordpress.org/trunk@49935 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-05 16:46:02 +00:00
Sergey Biryukov
019a261d3f Docs: Fix typo in wp_set_comment_status filter DocBlock.
Follow-up to [49926].

See #51800.

git-svn-id: https://develop.svn.wordpress.org/trunk@49934 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-05 16:44:24 +00:00
Sergey Biryukov
715daf875a Docs: In various @return tags, list the expected type first, instead of false or WP_Error.
Follow-up to [46696], [47060], [49926], [49927].

See #51800.

git-svn-id: https://develop.svn.wordpress.org/trunk@49929 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-04 17:16:43 +00:00
Sergey Biryukov
7bd678a553 Docs: Synchronize and correct documentation for has_filter() and WP_Hook::has_filter().
`WP_Hook::has_filter()` returns true if `$function_to_check` is omitted and the hook being checked has one or more registered callbacks.

Follow-up to [49927].

See #51800.

git-svn-id: https://develop.svn.wordpress.org/trunk@49928 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-04 16:56:20 +00:00
John Blackbourn
679ccc35e6 Docs: Promote many bool types to true or false where only that value is used.
See #51800


git-svn-id: https://develop.svn.wordpress.org/trunk@49927 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-03 22:02:13 +00:00
John Blackbourn
374b41ed13 Docs: Various docblock corrections particularly relating to boolean types.
See #51800


git-svn-id: https://develop.svn.wordpress.org/trunk@49926 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-03 21:55:04 +00:00
Timothy Jacobs
69cc6e61d0 REST API: Expose all themes in the themes controller.
Previously, only the active theme was made available. This commit allows for all themes to be queried if the user has the `switch_themes` or `manage_network_themes` capabilities.

This commit also no longer exposes the `page`, `per_page`, `search` and `context` query parameters since they are not supported by this controller.

Props spacedmonkey, lpawlik, TimothyBlynJacobs.
Fixes #50152.


git-svn-id: https://develop.svn.wordpress.org/trunk@49925 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-03 21:45:42 +00:00
Sergey Biryukov
087ff2f8ef Canonical: Check if the post type exists when attempting a canonical redirect.
This avoids a PHP notice if the post type is no longer registered.

Follow-up to [14595], [35480].

Props bobbingwide, hareesh-pillai.
Fixes #40309.

git-svn-id: https://develop.svn.wordpress.org/trunk@49924 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-03 17:54:48 +00:00
Timothy Jacobs
a6a021d037 REST API: Move the WP_Query args filter after the tax_query is setup.
This ensures that the entire list of `WP_Query` args are filterable in the posts controller.

Props Krstarica, TimothyBlynJacobs.
Fixes #42762.


git-svn-id: https://develop.svn.wordpress.org/trunk@49923 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-03 02:37:23 +00:00
Timothy Jacobs
ab388522aa REST API: Only include the controller's own taxonomy in it's schema.
Previously, all taxonomies were incorrectly exposed as possible values.

Props johnbillion.
Fixes #51940.


git-svn-id: https://develop.svn.wordpress.org/trunk@49922 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-02 23:47:42 +00:00
Timothy Jacobs
902e3f6b85 App Passwords: Only attempt auth if the username and password are set.
Previously, only the username was checked which caused a PHP warning in some server setups, for instance Shibboleth SSO, where the server only populates the `PHP_AUTH_USER` field.

Props MadtownLems, johnbillion, richard.tape, engahmeds3ed.
Fixes #52003.


git-svn-id: https://develop.svn.wordpress.org/trunk@49919 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-02 21:34:01 +00:00
Timothy Jacobs
2206495007 REST API: Properly display JSON encoding errors.
Previously `null` was returned because the server was accessing the incorrect variable.

Props atimmer, technosailor.
Fixes #52106.


git-svn-id: https://develop.svn.wordpress.org/trunk@49918 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-02 20:35:01 +00:00
Sergey Biryukov
c32b13d2e7 Docs: Second pass at replacing Codex URLs with a corresponding HelpHub or DevHub article.
Follow-up to [45674-45677].

Props marcio-zebedeu, zodiac1978, netweb.
See #48987.

git-svn-id: https://develop.svn.wordpress.org/trunk@49912 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-29 20:12:42 +00:00
Gary Pendergast
f6042ffc5b Site Health: Check that WordPress is installed before scheduling the HTTPS cron.
Trying to schedule cron jobs before WordPress is installed results in DB errors, which is suboptimal.

See #47577.



git-svn-id: https://develop.svn.wordpress.org/trunk@49909 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-28 01:43:18 +00:00