Commit Graph

32204 Commits

Author SHA1 Message Date
Boone Gorges 499d1b74ba Don't cache `WP_Term` objects in `wp_get_object_cache()`.
The data stored in the cache should be raw database query results, not
`WP_Term` objects (which may be modified by plugins, and may contain additional
properties that shouldn't be cached).

If term relationships caches were handled in `wp_get_object_terms()` - where
a database query takes place - it would be straightforward to cache raw data.
See #34239. Since, in fact, `get_the_terms()` caches the value it gets from
`wp_get_object_terms()`, we need a technique that allows us to get raw data
from a `WP_Term` object. Mirroring `WP_User`, we introduce a `data` property
on term objects, which `get_the_terms()` uses to fetch cacheable term info.

Fixes #34262.
Built from https://develop.svn.wordpress.org/trunk@35032


git-svn-id: http://core.svn.wordpress.org/trunk@34997 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-12 15:13:48 +00:00
Boone Gorges 6912d6fe64 Be stricter about sanitizing values coming out of `WP_Term`.
Data passed into `get_instance()` should be run through `sanitize_term()`
before being used.

See #34262.
Built from https://develop.svn.wordpress.org/trunk@35031


git-svn-id: http://core.svn.wordpress.org/trunk@34996 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-12 15:13:24 +00:00
Boone Gorges 2e4877d80c Fix incorrect setup in 'tag' query var test.
The test, introduced in [33724], was intended to demonstrate the behavior of
`example.com?tag=foo` routing. But an error in the test setup meant that a
URL-encoded tag object was being set as the value of 'tag'. Due to a quirk in
the way that `parse_request()` parses query vars, an object value for 'tag'
would inadvertently produce correct results in certain cases. But it's not a
usage we actively support, and it's not what was meant to be tested.

See #33532, #34262.
Built from https://develop.svn.wordpress.org/trunk@35030


git-svn-id: http://core.svn.wordpress.org/trunk@34995 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-12 15:04:26 +00:00
Boone Gorges 58aee33cd9 After [35028], normalize `get_term_field()` doc formatting.
Fixes #34245.
Built from https://develop.svn.wordpress.org/trunk@35029


git-svn-id: http://core.svn.wordpress.org/trunk@34994 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-12 04:14:48 +00:00
Boone Gorges 1a87ade436 Don't require a `$taxonomy` to be specified in `get_term_field()`.
After [34997], the `$taxonomy` parameter of `get_term()` is optional. This
changeset brings `get_term_field()` in line with the new usage.

Adds unit tests for `get_term_field()`.

Props DrewAPicture.
See #34245.
Built from https://develop.svn.wordpress.org/trunk@35028


git-svn-id: http://core.svn.wordpress.org/trunk@34993 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-12 04:14:24 +00:00
Drew Jaynes f60bd8d827 Docs: Wrap a couple of hook name references in inline `@see` tags in the hook docs for `custom_menu_order` and `menu_order`.
Inline `@see` tags in the context of hooks are parsed as links to hook pages in the Code Reference.

See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34992 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-12 03:39:26 +00:00
Jeremy Felt 270d3f422c MS: Reflect falsy values for `upload_space_check_disabled` in UI.
If the network option for `upload_space_check_disabled` is missing or an empty string, we should reflect how it will be treated elsewhere in the UI.

Props stephenharris.
Fixes #33986.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34991 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-12 00:01:24 +00:00
Jeremy Felt 364e63b83b MS: Reject truthy, non-numeric network ids in `_network_option()`.
A valid `$network_id` or `null`/`false` is expected as the first parameter for `_network_option()`. If something other than that is passed, we immediately return `false` rather than attempting to guess what network was intended.

See #28290.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34990 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-11 23:30:24 +00:00
Jeremy Felt 092478579a MS: Adjust `_network_option()` parameter order, `$network_id` is first.
This better aligns with expectations and matches the structure used by `_blog_option()`. The `_site_option()` functions remain as an appropriate method for working with the current network.

See #28290.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34989 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-11 22:44:27 +00:00
Drew Jaynes 2c6e416159 Media: Remove logic for unnecessarily overloading the `$content_width` global when passing default dimensions used to display the post thumbnail image in the 'Featured Image' meta box.
Updates documentation for the `$size` parameter in `admin_post_thumbnail_size` filter doc.

See #28512.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34988 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-11 17:10:25 +00:00
Drew Jaynes 889a89c2a2 Media: Introduce the `admin_post_thumbnail_size` filter, which enables manipulation of the image size used to display the post thumbnail in the 'Featured Image' meta box.
This filter has no effect on the image size used to display post thumbnails on the front-end.

Props dboulet, DrewAPicture.
Fixes #28512.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34987 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-11 16:54:26 +00:00
Drew Jaynes fb2a4bf9fb Docs: Fix some syntactical issues in property DocBlocks for `WP_List_Table`.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34986 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-11 03:34:26 +00:00
Andrew Ozz 85285d1701 Fix inconsistency in src/wp-includes/js/media/views/uploader/editor.js.
See #34251.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34985 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-11 00:09:24 +00:00
Andrew Ozz 8dd2a31c38 Plupload: update to 2.1.8. Changelog: https://github.com/moxiecode/plupload/releases.
Hide the editor uploader overlay on all drop events in the window, not only when dropping on the editor uploader element.


Fixes #34251, #22403.
Built from https://develop.svn.wordpress.org/trunk@35019


git-svn-id: http://core.svn.wordpress.org/trunk@34984 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 23:50:25 +00:00
Sergey Biryukov 11def634f6 Customizer: `WP_Customize_Cropped_Image_Control` should extend `WP_Customize_Image_Control`, since Site Icon can only an image.
Props paulwilde.
Fixes #34250.
Built from https://develop.svn.wordpress.org/trunk@35018


git-svn-id: http://core.svn.wordpress.org/trunk@34983 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 23:25:24 +00:00
Jeremy Felt 3b42b801f8 MS: Handle the possibility of 0 when checking a user's upload quota.
Upload space of 0 is now more possible via r35016 and should be respected rather than modified to a default of 10MB.

Fixes #34037.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34982 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 23:17:25 +00:00
Jeremy Felt 49ce208880 MS: Allow for a `blog_upload_space` setting of 0 to restrict uploads.
Previously, an value matching `empty()` would have been bypassed in favor of the default setting for 100MB.

Related #19538, r19639, r19652, where we saw the bug, fixed the bug, and then unfixed the bug so that it was not a surprise in a point release.

See #34037.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34981 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 23:15:26 +00:00
Andrea Fercia 6b449abadc Accessibility: bump headings one level up on the Appearance > Widgets screen for a better headings hierarchy.
Props mrahmadawais, afercia.
Fixes #33659.
Built from https://develop.svn.wordpress.org/trunk@35015


git-svn-id: http://core.svn.wordpress.org/trunk@34980 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 16:34:25 +00:00
Scott Taylor 5fdf928bcf Admin JS: after [34977], avoid variable names conflicts with `e`.
Props afercia.
Fixes #18590.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34979 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 15:50:24 +00:00
Scott Taylor 00ade45fd1 Docs: some `@global object` vernaculars should be converted to the actual object type.
See #33491.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34978 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 15:45:25 +00:00
Scott Taylor 57c2ef2655 Users List Table: after [35011], just use `wp_roles()`, no global import. #winning
See #22959.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34977 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 15:36:26 +00:00
Scott Taylor ab2905da84 Users List Table: after [34963], remove unused code/add doc for global import.
See #22959.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34976 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 15:26:24 +00:00
Scott Taylor d021cb8bc0 WP Screen: after [34991], avoid unnecessary nesting levels and remove unused global import.
See #33646.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34975 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 15:20:24 +00:00
Andrea Fercia 6ec8174ca1 Accessibility: bump headings one level up on the Add Plugins screen for a better headings hierarchy.
Fixes #33818.
Built from https://develop.svn.wordpress.org/trunk@35009


git-svn-id: http://core.svn.wordpress.org/trunk@34974 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 15:17:26 +00:00
Sergey Biryukov a5c1f545c4 Users: Remove redundant error message when password is only entered once.
"Please enter the same password in both password fields" should cover all the scenarios.

Props MikeHansenMe, jmayhak, desrosj, gounder.
Fixes #33101.
Built from https://develop.svn.wordpress.org/trunk@35008


git-svn-id: http://core.svn.wordpress.org/trunk@34973 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 13:22:26 +00:00
Weston Ruter 1fe64b1c65 Customizer: Fix scalability performance problem for previewing multidimensional settings.
As the number of multidimensional settings (serialized options and theme mods) increase for a given ID base (e.g. a widget of a certain type), the number of calls to the `multidimensional` methods on `WP_Customize_Setting` increase exponentially, and the time for the preview to refresh grows in time exponentially as well.

To improve performance, this change reduces the number of filters needed to preview the settings off of a multidimensional root from N to 1. This improves performance from `O(n^2)` to `O(n)`, but the linear increase is so low that the performance is essentially `O(1)` in comparison. This is achieved by introducing the concept of an "aggregated multidimensional" setting, where the root value of the multidimensional serialized setting value gets cached in a static array variable shared across all settings.

Also improves performance by only adding preview filters if there is actually a need to do so: there is no need to add a filter if there is an initial value and if there is no posted value for a given setting (if it is not dirty).

Fixes #32103.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34972 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 09:06:25 +00:00
Sergey Biryukov ac9a85a45e Use `wp_star_rating()` on Add Themes screen:
* It works correctly for RTL
* Requires less CSS styling
* Is visually consistent with plugin ratings
* Is more accessible

Fixes #34080.
Built from https://develop.svn.wordpress.org/trunk@35006


git-svn-id: http://core.svn.wordpress.org/trunk@34971 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 06:51:24 +00:00
Sergey Biryukov 24219160f1 Add `echo` parameter for `wp_star_rating()`.
See #34080.
Built from https://develop.svn.wordpress.org/trunk@35005


git-svn-id: http://core.svn.wordpress.org/trunk@34970 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 06:43:24 +00:00
Drew Jaynes c6bffb6264 Docs: Fix some minor formatting in the `$query_args` parameter description for the `` filter doc.
See #8243. See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34969 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 06:39:24 +00:00
Drew Jaynes 504ff07656 Dashboard: Introduce the `dashboard_recent_drafts_query_args` filter, making it possible to manipulate the post query arguments used in the 'Recent Drafts' dashboard widget.
Props iamfriendly.
Fixes #8243.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34968 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 06:33:25 +00:00
Drew Jaynes 69c828b77b Template: Pass the `$post` parameter to the `the_permalink` filter.
Props chriscct7.
Fixes #34234. See #23882.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34967 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 05:46:24 +00:00
Drew Jaynes c2b5aeebb0 Template: Rename the `$id` parameters in `the_permalink()`, `get_the_permalink()`, and `get_permalink()` to `$post`.
In all three cases, the functions can accept a post ID, a `WP_Post` object, or a falsey value, which defaults to the value of the global `$post`. Switching to `$post` in this context allows the parameters to better self-document and removes ambiguity in the code they are subsequently used in.

Props chriscct7 for the initial patch.
See #34234.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34966 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 05:41:29 +00:00
Sergey Biryukov 5399881b18 Merge two database update strings for consistency.
Props pavelevap.
Fixes #33514.
Built from https://develop.svn.wordpress.org/trunk@35000


git-svn-id: http://core.svn.wordpress.org/trunk@34965 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 05:14:23 +00:00
Boone Gorges 636464857e Return `WP_Post` objects from `wp_get_object_terms()`.
A side effect of this change is that terms stored in the cache no longer have
an `object_id` associated with them. Previously, `object_id` had always been
cached when the term cache was populated via `wp_get_object_terms()`, a
strategy that was mostly harmless but still incorrect.

See #14162.
Built from https://develop.svn.wordpress.org/trunk@34999


git-svn-id: http://core.svn.wordpress.org/trunk@34964 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 03:39:26 +00:00
Boone Gorges 71429da5b4 Return `WP_Term` objects from `get_terms()`.
Props boonebgorges, flixos90, DrewAPicture.
See #14162.
Built from https://develop.svn.wordpress.org/trunk@34998


git-svn-id: http://core.svn.wordpress.org/trunk@34963 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 02:13:28 +00:00
Boone Gorges 623e467712 Introduce `WP_Term`.
`get_term()` now returns a `WP_Term` object, instead of a `stdClass` object.
Cache support and sanitization filters for individual terms are now more
centralized. For example, `get_term_by()` is able to cast results of its query
to a `WP_Term` object by passing it through `get_term()`.

The `$taxonomy` parameter for `get_term()` is now optional, as terms ought to
be unique to a taxonomy (ie, shared terms no longer exist). In cases where
`get_term()` detects that the term matching the specified term_id is from the
wrong taxonomy, it checks to see if you've requested a shared term, and if so,
it splits the term. This is used only for fallback purposes.

The elimination of shared terms allows the caching strategy for terms to be
simplified. Individual terms are now cached in a single 'terms' bucket.

Props flixos90, boonebgorges, scribu, dipesh.kakadiya.
See #14162.
Built from https://develop.svn.wordpress.org/trunk@34997


git-svn-id: http://core.svn.wordpress.org/trunk@34962 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 01:59:29 +00:00
Jeremy Felt f8a05879e8 MS: Show an error if a new site slug conflicts with an existing username.
Props utkarshpatel, dipesh.kakadiya.
Fixes #33804.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34961 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 01:42:26 +00:00
Drew Jaynes 1b1e18027d Template: Make it possible to both ''add'' and ''remove'' items from the page templates list using the `theme_page_templates` filter.
The `theme_page_templates` hook was originally added in [27297] as `page_templates`, and later renamed in [27470]. Previously, it was only possible to remove or rename page templates via this hook.

Fixes #13265. Fixes #25879.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34960 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 21:51:25 +00:00
Sergey Biryukov 662ad721ec Remove stray closing tag in `wp-admin/themes.php`.
Props tfrommen.
Fixes #34237.
Built from https://develop.svn.wordpress.org/trunk@34994


git-svn-id: http://core.svn.wordpress.org/trunk@34959 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 21:17:25 +00:00
Drew Jaynes e89737ccfb Docs: Fix wrapping and syntax for a multi-comment in `Walker_Comment::display_element()`.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34958 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 21:03:25 +00:00
Drew Jaynes e38a6edc61 Docs: Indent an example comment tree in the DocBlock for `Walker_Comment::display_element()` so it can be properly parsed in Markdown for the Code Reference.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34957 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 21:00:27 +00:00
Andrea Fercia 42b33e1645 Administration: Convert H5 usage in Screen Options to use fieldsets and legends.
These H5 (heading level 5) don't allow for a good headings hierarchy and shouldn't be headings in the first place. Each group of options has now its own fieldset and legend.
In `render_screen_options()`, introduce two new "render" methods: `render_meta_boxes_preferences()` and `render_list_table_columns_preferences()` for consistency with already existing render methods and cleaner code.

Props joedolson, afercia.
Fixes #33646.
Built from https://develop.svn.wordpress.org/trunk@34991


git-svn-id: http://core.svn.wordpress.org/trunk@34956 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 18:05:24 +00:00
Helen Hou-Sandí 681573e80a Notices: Update one more instance of white-on-white.
Because the media modal can be used on the front-end, the CSS needs to be added here rather than using the notice classes.

props paulwilde.
fixes #32244.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34955 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 17:47:25 +00:00
Boone Gorges a19d63b7a5 Ensure that `WP_Date_Query` accepts a value of `0` for 'hour'.
Props jim912.
Fixes #34228.
Built from https://develop.svn.wordpress.org/trunk@34989


git-svn-id: http://core.svn.wordpress.org/trunk@34954 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 16:33:25 +00:00
Sergey Biryukov b40e362711 Fix typo in `get_avatar()` and `get_avatar_data()` docs.
Props johnjamesjacoby.
Fixes #34232.
Built from https://develop.svn.wordpress.org/trunk@34988


git-svn-id: http://core.svn.wordpress.org/trunk@34953 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 15:52:24 +00:00
Drew Jaynes 7e26ee2e3c Install: Match existing tonal style in setup-config.php by converting strings containing 'do not' and 'does not' to instead use contractions.
The 'do not' is converted to "don't" because "you" is third-person plural, and 'does not' is converted to "doesn't" because `localhost` is third-person singular. While both are "negative" contractions, we often write this way in WordPress to provide a friendlier tone. That's your English grammar lesson for the day.

Props ankit-k-gupta, iamfriendly.
Fixes #30317.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34952 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 15:43:27 +00:00
Sergey Biryukov 072cdf116a Fix typo in `wp_rand()` docs.
See #28633.
Built from https://develop.svn.wordpress.org/trunk@34986


git-svn-id: http://core.svn.wordpress.org/trunk@34951 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 05:20:23 +00:00
Sergey Biryukov 0d7c5569f5 In `do_robots()`, allow crawling for `admin-ajax.php`, since it's often used on front-end.
Props dmchale, joostdevalk.
Fixes #33156.
Built from https://develop.svn.wordpress.org/trunk@34985


git-svn-id: http://core.svn.wordpress.org/trunk@34950 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 05:16:23 +00:00
Sergey Biryukov 95da3826b9 Media: Return early from `media_sideload_image()` if `$file` didn't match the pattern for images.
Props MikeHansenMe, serpent7776.
Fixes #32755.
Built from https://develop.svn.wordpress.org/trunk@34984


git-svn-id: http://core.svn.wordpress.org/trunk@34949 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 04:46:24 +00:00
Drew Jaynes d8811d591b Tests: Add basic DocBlocks for four helper methods in general/template.php used to assist testing the Site Icon feature.
All four helpers were introduced in the feature merge for 4.3.

See #33968.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34948 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 04:35:24 +00:00