Commit Graph

7366 Commits

Author SHA1 Message Date
Peter Wilson
7950b0e306 Options: Prevent unnecessary SQL updates by update_option.
Previously an option containing an object would trigger an SQL `UPDATE` on all calls to `update_option`, even if the old and new values were identical. This was due to the old and new values having differing resource IDs.

This change compares the old and new values as serialized data to remove the resource ID from the comparison.

Props salcode, bradyvercher, peterwilsoncc.
Fixes #38903.


git-svn-id: https://develop.svn.wordpress.org/trunk@39564 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-11 21:42:12 +00:00
Rachel Baker
260a88d009 REST API: Allow schema sanitization_callback to be set to null to bypass fallback sanitization functions.
The logic in WP_REST_Request->sanitize_params() added in [39091] did not account for `null` or `false` being the sanitization_callback preventing overriding `rest_parse_request_arg()`. This fixes that oversight, allowing the built in sanitization function to be bypassed. See #38593.

Props kkoppenhaver, rachelbaker, jnylen0.
Fixes #39042.


git-svn-id: https://develop.svn.wordpress.org/trunk@39563 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-11 21:25:40 +00:00
Weston Ruter
3a3ebc76a3 Customize: Fix ability to shift-click on placeholder/pre-saved nav menu items in preview to focus on corresponding control.
Fixes #39102.


git-svn-id: https://develop.svn.wordpress.org/trunk@39562 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-10 23:46:33 +00:00
Weston Ruter
1681d96a6d Customize: Deprecate page_home nav menu item starter content in favor of home_link; replace usage in Twenty Seventeen.
Props celloexpressions, westonruter.
Amends [38991].
See #38615, #38114.
Fixes #39104.


git-svn-id: https://develop.svn.wordpress.org/trunk@39561 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-10 23:38:04 +00:00
Weston Ruter
e27098f5bd Customize: Trim whitespace for URLs supplied for external_header_video to prevent esc_url_raw() from making them invalid.
Props tyxla.
See #38172.
Fixes #39125.


git-svn-id: https://develop.svn.wordpress.org/trunk@39560 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-10 06:59:24 +00:00
Weston Ruter
0369dea1e4 Customize: Prevent single quotes (apostrophes) in custom_css values from unexpectedly causing false positives for unbalanced character validation errors.
See #39218, #35395.
Fixes #39198.


git-svn-id: https://develop.svn.wordpress.org/trunk@39559 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-10 06:45:00 +00:00
Weston Ruter
be8caefd82 Customize: Fix inability to delete nav menus by preventing preview filters from being added during customize_save admin ajax request.
Also prevent setting `nav_menu_locations[...]` values to `NaN` which gets sent as `null`.

Amends [38810].
See #30937.
Fixes #39103.


git-svn-id: https://develop.svn.wordpress.org/trunk@39558 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-10 06:29:12 +00:00
boonebgorges
479a743307 Docs: Correct param definition for WP_Query::query().
Props Shelob9.
Fixes #38963.

git-svn-id: https://develop.svn.wordpress.org/trunk@39550 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-09 16:22:02 +00:00
Boone Gorges
77484a0f4a Taxonomy: Introduce get_term_parents_list().
This new function is a taxonomy-agnostic version of `get_category_parents()`.

Props keesiemeijer, SergeyBiryukov, rafaehlers.
Fixes #17069.

git-svn-id: https://develop.svn.wordpress.org/trunk@39549 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-09 16:09:31 +00:00
Weston Ruter
3669b47260 Customize: Allow (optional) url parameter to be omitted in intercepted calls to history.pushState() and history.replaceState() in customize preview.
Fixes issue where calls without the `url` parameter erroneously end up rewriting the location path to `/undefined`.

Props Christian1012, westonruter.
Fixes #39175.


git-svn-id: https://develop.svn.wordpress.org/trunk@39547 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-09 01:58:18 +00:00
Weston Ruter
c8eafed944 Customize: Use esc_url_raw() instead of wp_json_encode() to eliminate extraneous slashes when outputting background image URL in CSS url().
Props tyxla, westonruter.
See #22058.
Fixes #39145.


git-svn-id: https://develop.svn.wordpress.org/trunk@39546 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-09 01:42:23 +00:00
Weston Ruter
9c5d1f6011 Customize: Use selected user language for edit shortcuts in preview instead of site language.
Props ocean90.
Fixes #39009.


git-svn-id: https://develop.svn.wordpress.org/trunk@39545 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-08 19:31:37 +00:00
Andrea Fercia
d986f9dcdc Toolbar: remove some unnecessary CSS lines.
They were commented out in `admin-bar.css` since 3 years, see [26770].

Props kafleg, ketuchetan.

Fixes #39137.


git-svn-id: https://develop.svn.wordpress.org/trunk@39533 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-07 17:44:45 +00:00
Boone Gorges
a7c429cb53 Comments: Clean up unused code after [38446].
When the direct SQL query was removed in [38446], part of the SQL
concatenation was not removed. This changeset fixes that.

Props david.binda.
Fixes #39142.

git-svn-id: https://develop.svn.wordpress.org/trunk@39532 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-07 15:51:08 +00:00
John Blackbourn
042451a9e1 Taxonomy: Correct the type for the first parameter of the the_category filter.
See #39130


git-svn-id: https://develop.svn.wordpress.org/trunk@39530 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-07 01:22:09 +00:00
Andrea Fercia
30076372d7 Accessibility: Improve keyboard accessibility avoiding confusing tab stops in the Media views.
When sections of the media modal are hidden out of view, their controls may be
still focusable and actionable. This completely hides these sections to avoid
unnecessary tab stops and potential confusion for assistive technology users.

Props SergeyBiryukov, afercia.

Fixes #30599.


git-svn-id: https://develop.svn.wordpress.org/trunk@39529 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-06 23:27:04 +00:00
Weston Ruter
385dd3fece Customize: Prevent infinite full refresh from occurring when selective refresh falls back for a nav menu that has items excluded from rendering via filtering.
See #37032.
Fixes #38612.


git-svn-id: https://develop.svn.wordpress.org/trunk@39510 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-06 02:50:13 +00:00
Dominik Schilling (ocean90)
386a0ca669 Comments: Merge a similar string between comments.php, XML-RPC and the REST API comments controller.
Props ramiy.
Fixes #39013.

git-svn-id: https://develop.svn.wordpress.org/trunk@39508 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-05 20:15:09 +00:00
Weston Ruter
c4bffeb619 Customize: Defer populating post_name for auto-draft posts in customized state until posts are published.
The ultimate `post_name` is stored in postmeta until the post is published. The `get_page_by_path()` function does not exclude `auto-draft` posts. Revert changes to `wp_unique_post_slug()` from [39411] which excluded `auto-draft` posts.

Props westonruter, dlh for testing, helen for testing.
See #38114, #38928.
Fixes #39078.


git-svn-id: https://develop.svn.wordpress.org/trunk@39506 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-05 19:32:09 +00:00
Weston Ruter
01876b9888 Customize: Ensure textarea for Custom CSS displays as code (in LTR) when an RTL language is active.
See #35395.
Fixes #39085.


git-svn-id: https://develop.svn.wordpress.org/trunk@39499 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-05 13:54:58 +00:00
John Blackbourn
7c02c24e5f Role/Capability: Don't assign the delete_site capability to anyone on single site installs.
This capability is not relevant on single site installs; it only applies to deleting a site on a multisite installation.

Fixes #38326


git-svn-id: https://develop.svn.wordpress.org/trunk@39494 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-04 22:06:36 +00:00
Felix Arntz
40668a1c63 Multisite: Replace is_super_admin() with manage_network for admin bar permissions.
Props iaaxpage.
Fixes #39064. See #37616.


git-svn-id: https://develop.svn.wordpress.org/trunk@39492 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-04 21:20:44 +00:00
Rachel Baker
bc6b164d23 Comments: Merge similar strings between comments.php and the REST API comments controller.
Props ramiy.
Fixes #39014.


git-svn-id: https://develop.svn.wordpress.org/trunk@39490 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-04 20:31:27 +00:00
Rachel Baker
33f442f17b REST API: Merge similar date strings in the revisions and comments controllers.
Props ramiy.
Fixes #39016.


git-svn-id: https://develop.svn.wordpress.org/trunk@39488 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-04 20:24:54 +00:00
James Nylen
d2a5f48449 REST API: Treat any falsy value as false in 'rest_allow_anonymous_comments'.
Extend the check in 'rest_allow_anonymous_comments' to accept any falsy value
(previously this was an explicit check for `false`).

One possible failure case is that a plugin developer forgets to include a
return value for some code path in their callback for this filter, leading to a
value of `null` which is currently treated like `true`.

Props joehoyle, jnylen0.

Fixes #39010.


git-svn-id: https://develop.svn.wordpress.org/trunk@39487 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-04 19:29:18 +00:00
johnbillion
01a6118660 Users: Clarify the return value of get_current_user_id() for non-logged-in users.
Props ovenall
Fixes #39051


git-svn-id: https://develop.svn.wordpress.org/trunk@39486 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-04 19:23:53 +00:00
Weston Ruter
06ee519376 Customize: Ensure a custom_css post insertion gets an initial post revision.
Props georgestephanis, westonruter.
See #30854, #38672, #35395.
Fixes #39032.


git-svn-id: https://develop.svn.wordpress.org/trunk@39477 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-04 17:28:27 +00:00
Helen Hou-Sandi
980459a68b Docs: Update an @since as there will not be a 4.6.2 before 4.7.
props boonebgorges.
fixes #37291. see [38776].


git-svn-id: https://develop.svn.wordpress.org/trunk@39475 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-04 17:09:20 +00:00
Andrew Nacin
ceee0b78e1 REST API: Register the admin_email setting in single site only.
fixes #38990.


git-svn-id: https://develop.svn.wordpress.org/trunk@39470 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-03 05:38:38 +00:00
Gary Pendergast
55e972cab3 REST API: Site URL setting should not be present on multisite installations.
The `siteurl` setting is registered and made available to the REST API. On a multisite installation, this setting is not configurable from the General Settings screen, but due to the above it is configurable from the REST API.

Props peterwilsoncc.
Fixes #39005.



git-svn-id: https://develop.svn.wordpress.org/trunk@39468 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-03 05:15:42 +00:00
Helen Hou-Sandi
97191393bc Custom CSS: Change the help link to something better for users.
fixes #39015.


git-svn-id: https://develop.svn.wordpress.org/trunk@39466 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-03 05:10:38 +00:00
Gary Pendergast
c4360e54b2 REST API: Capability check for editing a single term should use the singular form.
As an extra level of sanity checking, the term ID should be cast as an int in `map_meta_cap()`.

Props johnbillion, nacin, dd32, pento.
See #35614.
Fixes #39012.



git-svn-id: https://develop.svn.wordpress.org/trunk@39464 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-03 05:07:03 +00:00
Gary Pendergast
eea9aed399 Docs: Add missing REST API-related args to register_post_type() and register_taxonomy().
These functions now accept the `show_in_rest`, `rest_base`, and `rest_controller_class` args.

Props ketuchetan, rahulsprajapati.
Fixes #39023.



git-svn-id: https://develop.svn.wordpress.org/trunk@39462 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-03 04:47:58 +00:00
Gary Pendergast
8e34471a11 REST API: Use the correct error message when editing a single term.
Props ramiy, johnbillion.
Fixes #39017.



git-svn-id: https://develop.svn.wordpress.org/trunk@39460 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-03 04:41:16 +00:00
Gary Pendergast
f82946ab4a REST API: Merge similar strings in a comments endpoint parameter description.
Props ramiy.
Fixes #39036.



git-svn-id: https://develop.svn.wordpress.org/trunk@39457 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-03 04:20:56 +00:00
Gary Pendergast
2516ae4d4a Load: No-op locale.php
After re-adding `locale.php` in [39455], remove the content of the file so that it can't cause errors in the event of something loading it early in the WordPress load process.

See #39027.



git-svn-id: https://develop.svn.wordpress.org/trunk@39456 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-03 04:15:33 +00:00
Gary Pendergast
7e2009642a Load: Re-add locale.php.
`locale.php` is occasionally included directly by custom external code, so should continue to be available. This behaviour is deprecated.

Partial revert of [38364].
See #37827, #39027.



git-svn-id: https://develop.svn.wordpress.org/trunk@39455 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-03 04:06:15 +00:00
Gary Pendergast
d7d48f6372 Load: Re-add session.php.
`session.php` is occasionally included directly by custom external code, so should continue to be available. This behaviour is deprecated.

Partial revert of [38373].
See #36335, #39027.



git-svn-id: https://develop.svn.wordpress.org/trunk@39453 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-03 03:50:02 +00:00
Gary Pendergast
0b1ff178a7 Load: Re-add class-feed.php.
`class-feed.php` is occasionally included directly by custom external code, so should continue to be available. This is deprecated in favour of calling `fetch_feed()`, however..

Partial revert of [38374].
See #36335, #39027.



git-svn-id: https://develop.svn.wordpress.org/trunk@39449 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-03 03:29:23 +00:00
Rachel Baker
8c26572c8a REST API: Fix bug where comment author and author email could be an empty string when creating a comment.
If the `require_name_email` option is true, creating a comment with an empty string for the author name or email should not be accepted.  Both values can be an empty string on update.

Props flixos90, hnle, dd32, rachelbaker, jnylen0, ChopinBach, joehoyle, pento.

Fixes #38971.


git-svn-id: https://develop.svn.wordpress.org/trunk@39444 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-02 22:43:03 +00:00
Rachel Baker
0de150991c REST API: Fix handling of some orderby parameters for the Posts controller.
- `'orderby' => 'include'` requires an array of post_ids via the `include` collection param.
`'orderby' => 'id'` and `'orderby' => 'slug'` need map the correct WP_Query equivalents. 

Props flixos90, hnle, dd32, rachelbaker, joehoyle, pento.

Fixes #38971.


git-svn-id: https://develop.svn.wordpress.org/trunk@39440 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-02 22:17:36 +00:00
Jeremy Felt
9232ecc9fc REST API: Disable DELETE requests for users in multisite.
In wp-admin, users are removed from individual sites rather than deleted. A user can only be deleted from the network admin.

Until support for a `PUT` request that removes a user's site and content associations is available, `DELETE` requests are disabled to avoid possible issues with lost content.

Props jnylen0, rachelbaker.
Fixes #38962.


git-svn-id: https://develop.svn.wordpress.org/trunk@39438 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-02 22:10:01 +00:00
Rachel Baker
a55506974e REST API: Return a WP_Error if meta property is not an array.
Fixes bug where a PHP Warning is currently thrown if a client sends a request where `meta` is not an array value.

Props timmydcrawford, jnylen0, rachelbaker, pento.
Fixes #38989.

git-svn-id: https://develop.svn.wordpress.org/trunk@39436 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-02 21:55:09 +00:00
Weston Ruter
511ba69e52 Customize: Fix posts limit query arg for WP_Query from incorrect number to posts_per_page.
Props dlh.
Fixes #39022.


git-svn-id: https://develop.svn.wordpress.org/trunk@39434 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-02 16:17:03 +00:00
Gary Pendergast
5ff3f14d78 Plugins: Add a current_priority() method to WP_Hook.
This allows plugins to determine the currently running priority of a filter.

Fixes #39007.



git-svn-id: https://develop.svn.wordpress.org/trunk@39430 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-02 07:09:33 +00:00
Gary Pendergast
d5bfeae9d8 REST API: Require the reassign parameter when deleting users.
When deleting a user through the WordPress admin, a specific decision is presented - whether to assign all of the user's posts to another user, or to delete all of the posts.

This change requires `reassign` as a parameter in the corresponding REST API endpoint, so that content isn't accidentally lost.

Props jeremyfelt.
Fixes #39000.



git-svn-id: https://develop.svn.wordpress.org/trunk@39426 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-02 06:53:59 +00:00
Weston Ruter
bdd33e9dff Customize: Reuse existing non-auto-draft posts and existing auto-draft posts in the customized state with matching slugs when applying starter content.
* Updates `wp_unique_post_slug()` to ignore `auto-draft` posts. Prevents publishing multiple posts that have the same slugs from starter content.
* Fixes fatal error when attempting to save an header_image setting from a non-admin context.
* Fixes substituting attachment symbols in options and theme mods.
* Fixes applying starter content for header images and background images.

See #38114.
Fixes #38928.


git-svn-id: https://develop.svn.wordpress.org/trunk@39411 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-02 00:24:19 +00:00
Weston Ruter
3e9a2d5a5a Customize: Reject a changeset update when a non-future date is provided and also ensure that a published changeset always gets set to the current date/time.
* Also moves checks from `customize_save` Ajax handler to the underlying `WP_Customize_Manager::save_changeset_post()` call which plugins may invoke directly.
* Ensures that `customize_save_response` filter is always passed an array, with error code available as `code`.

Props utkarshpatel, westonruter, sayedwp.
See #30937.
Fixes #38943.


git-svn-id: https://develop.svn.wordpress.org/trunk@39409 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-02 00:01:51 +00:00
Rachel Baker
6a7883ffcf REST API: Correct the admin_email setting description for single site installs.
Display different descriptions for multisite or single site installations.

Props johnbillion, ocean90.
Fixes #38990.


git-svn-id: https://develop.svn.wordpress.org/trunk@39406 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-01 03:02:48 +00:00
Rachel Baker
03b4bd4ed9 REST API: Fix incorrect capability check on term create.
Change the capability check used in `WP_REST_Terms_Controller` when creating a new term is attempted, from `manage_terms` to `edit_terms`. This matches the behavior within the WordPress admin. See #35614.

Props johnbillion, rmccue, rachelbaker, helen, jorbin, SergeyBiryukov.

Fixes #38958.

git-svn-id: https://develop.svn.wordpress.org/trunk@39402 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-01 02:30:07 +00:00