Commit Graph

32429 Commits

Author SHA1 Message Date
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
Sergey Biryukov 3012b862af Add `$id` parameter to `the_permalink()`, for consistency with `get_permalink()`.
Props johnjamesjacoby, chriscct7.
Fixes #23882.
Built from https://develop.svn.wordpress.org/trunk@34982


git-svn-id: http://core.svn.wordpress.org/trunk@34947 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 04:34:24 +00:00
Dion Hulse 4852cbf14b Use PHP7's `random_int()` CSPRNG functionality in `wp_rand()` with a fallback to the `random_compat` library for PHP 5.x.
`random_compat` offers a set of compatible functions for older versions of PHP, filling in the gap by using other PHP extensions when available.
We still include our existing `wp_rand()` functionality as a fallback for when no proper CSPRNG exists on the system.

Take Two, this was previously committed in [34922] but had an issue on PHP 5.2 which sarciszewski has now resolved.

Props sarciszewski
See #28633

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


git-svn-id: http://core.svn.wordpress.org/trunk@34946 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 04:28:24 +00:00
Sergey Biryukov dfc4654172 Dashboard: Display year in Activity widget if the post date year is not the same as the current one.
Props GaryJ, chriscct7.
Fixes #26502.
Built from https://develop.svn.wordpress.org/trunk@34980


git-svn-id: http://core.svn.wordpress.org/trunk@34945 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 04:26:24 +00:00
Sergey Biryukov 6595b1b080 My Sites: Make "Create a New Site" link consistent with other "Add New" links.
Props JeffMatson.
Fixes #34179.
Built from https://develop.svn.wordpress.org/trunk@34979


git-svn-id: http://core.svn.wordpress.org/trunk@34944 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 03:50:24 +00:00
Sergey Biryukov 3c7b7f7133 After [34529], if a compatible `termmeta` table is found on database upgrade, convert it to `utf8mb4` collation.
Props dboulet.
Fixes #34224.
Built from https://develop.svn.wordpress.org/trunk@34978


git-svn-id: http://core.svn.wordpress.org/trunk@34943 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 02:07:25 +00:00
Andrew Ozz a6cf0b41a6 JS: in event callbacks replace the very outdated `return false` with `preventDefault()`.
Props adamsilverstein.
Fixes #18590.
Built from https://develop.svn.wordpress.org/trunk@34977


git-svn-id: http://core.svn.wordpress.org/trunk@34942 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 01:27:27 +00:00
Helen Hou-Sandí b23005d7c1 Revisions: Update slider handle styling.
This brings them in line with updated buttons as done in [34948] for #31459. It also gives it secondary action styling as opposed to primary, as restoring is considered the primary action.

props hugobaeta.
fixes #34220.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34941 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 00:25:25 +00:00
Drew Jaynes c67853a6da Docs: Add a missing `@since` version to the hook doc for the `the_excerpt_embed` filter, introduced in [34903].
See #34227.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34940 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 23:25:24 +00:00
Drew Jaynes 9cbb68a4af Embeds: Rename the `$return` parameter in `wp_filter_oembed_result()` to `$result` to provide better context on what is being filtered.
See #32522.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34939 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 23:22:24 +00:00
John Blackbourn 44da78be26 Remove HTML escaping for the plugin name and author fields that are displayed when deleting a plugin.
While it might seem counter-intuitive to remove HTML escaping, these fields are already safe (they originate in `_get_plugin_data_markup_translate()` which handles sanitization and escaping), and the AuthorName field actually allows some HTML. This change prevents escaped HTML from appearing here.

Fixes #25422

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


git-svn-id: http://core.svn.wordpress.org/trunk@34938 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 23:13:24 +00:00
Drew Jaynes 2f700ddbf2 Embeds: Combine the `oembed_minwidth` and `oembed_maxwidth` filters into one, similar to how the existing `oembed_defaults` works for width and height.
See #32522. See #34227.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34937 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 23:09:23 +00:00
Drew Jaynes 60f86d2865 Docs: Add missing `@since` versions for the `oembed_minwidth` and `oembed_maxwidth` filters, introduced in [34903].
See #34227.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34936 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 22:55:25 +00:00
Drew Jaynes 8c35f77cdb Docs: Adjust third-person singular verbs in DocBlock summaries for oEmbed functions introduced in [34903].
See #34227.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34935 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 22:50:25 +00:00
Drew Jaynes fa3b23dc0d Embeds: Fix syntax on instantiating a new `WP_oEmbed_Controller` instance and cross-reference in the DocBlock for `wp_oembed_parse_query()`.
See #34227.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34934 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 22:40:24 +00:00
Drew Jaynes f21439cc64 Docs: Adjust the summary for the `oembed_discovery_links` hook doc to mention that the filter is for HTML output.
See #34227.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34933 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 22:39:24 +00:00
Drew Jaynes e4164932dd Docs: Clarify the file header summary for wp-includes/embed-functions.php, and add missing parameter information for `wp_oembed_parse_query()`, introduced in [34903].
See #34227.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34932 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 22:38:25 +00:00
Drew Jaynes 77314454a5 Embeds: If we're adding a boatload of new items to default-filters.php, might as well make them readable.
See #32522.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34931 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 22:31:24 +00:00
John Blackbourn b62e798c17 Introduce the ability to filter the Users admin listing screen by users with no role, if such users exist.
Fixes #22993
Props spmlucas, johnbillion

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


git-svn-id: http://core.svn.wordpress.org/trunk@34930 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 22:07:47 +00:00
Drew Jaynes cc4c59a1fa Docs: Add a couple of strategically-placed spaces in `WP_Rewrite`.
Fixes #34218.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34929 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 22:07:24 +00:00
John Blackbourn 1451ebc0d1 On the Users list table, show all the roles of a user in a comma-separated list if they have more than one role. This prevents role obfuscation in situations where a user has had more than one role programmatically assigned to them.
Fixes #22959
Props scribu, JustinSainton, DrewAPicture, johnbillion

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


git-svn-id: http://core.svn.wordpress.org/trunk@34928 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 21:59:25 +00:00
Drew Jaynes aab0da2e17 Docs: Mark the optional parameters for `WP_Rewrite::generate_rewrite_rules()` as such, and improve overall formatting.
Also brings in the list of acceptable constants for the `$ep_mask` parameter.

See #34218.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34927 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 21:49:26 +00:00
Jeremy Felt 554b1425ed Make `$blog_id` explicitly global.
`$blog_id` is used in both single and multisite configurations as a global variable, though has never been explicitly marked as such in the global scope. This can cause confusion depending on how core is loaded.

Fixes #34217.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34926 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 21:45:25 +00:00
Drew Jaynes e147ba60b0 Docs: Convert the description for the optional `$args` parameter in `WP_Rewrite::add_permastruct()` into a hash notation.
See #34218.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34925 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 21:35:26 +00:00
Boone Gorges c758468faf `WP_User_Query` role improvement redux.
It's back, and it's better than ever: an overhaul of role-related arguments
in `WP_User_Query`. This updated version of the previously-reverted [34875]
includes support for the use of `$blog_id` without specifying a `$role`, for
a 99.7% reduced chance of breaking wordpress.org and other large sites.

Props boonebgorges, swissspidy.
Fixes #22212.
Built from https://develop.svn.wordpress.org/trunk@34959


git-svn-id: http://core.svn.wordpress.org/trunk@34924 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 21:28:24 +00:00
Drew Jaynes 9f4d5731e9 Docs: Improve more formatting and syntax for inline comments in `WP_Rewrite`.
See #34218.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34923 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 21:24:24 +00:00