Commit Graph

33777 Commits

Author SHA1 Message Date
Drew Jaynes e2dd03abd4 Docs: Remove a duplicate `@static` tag from the `WP_Customize_Panel->instance_count` property DocBlock.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@36568 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-18 00:13:21 +00:00
Boone Gorges 0e9ff07da5 Reintroduce term meta unit test accidentally removed in [36566].
git-svn-id: https://develop.svn.wordpress.org/trunk@36567 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 23:01:05 +00:00
Boone Gorges 28fad09b61 More performance improvements to metadata lazyloading.
Comment and term meta lazyloading for `WP_Query` loops, introduced in 4.4,
depended on filter callback methods belonging to `WP_Query` objects. This meant
storing `WP_Query` objects in the `$wp_filter` global (via `add_filter()`),
requiring that PHP retain the objects in memory, even when the local variables
would typically be expunged during normal garbage collection. In cases where a
large number of `WP_Query` objects were instantiated on a single pageload,
and/or where the contents of the `WP_Query` objects were quite large, serious
performance issues could result.

We skirt this problem by moving metadata lazyloading out of `WP_Query`. The
new `WP_Metadata_Lazyloader` class acts as a lazyload queue. Query instances
register items whose metadata should be lazyloaded - such as post terms, or
comments - and a `WP_Metadata_Lazyloader` method will intercept comment and
term meta requests to perform the cache priming. Since `WP_Metadata_Lazyloader`
instances are far smaller than `WP_Query` (containing only object IDs), and
clean up after themselves far better than the previous `WP_Query` methods (bp
only running their callbacks a single time for a given set of queued objects),
the resource use is decreased dramatically.

See [36525] for an earlier step in this direction.

Props lpawlik, stevegrunwell, boonebgorges.
Fixes #35816.

git-svn-id: https://develop.svn.wordpress.org/trunk@36566 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 22:57:33 +00:00
Andrew Ozz c7936b8785 Improve the performance of `wp_upload_dir()`:
- Cache the output in non-persistent cache.
- Cache the result from `wp_mkdir_p()` in persistent cache (when present).
- Introduce `wp_get_upload_dir()` for use when not uploading files. It is equivalent to `wp_upload_dir()` but does not check for the existence or create the upload directory.
- Change tests to use the non-cached `_wp_upload_dir()`. They change options on the fly (should never be used in production) to simulate different environments.
- Introduce `_upload_dir_no_subdir()` and `_upload_dir_https()` to facilitate testing. These use the proper `upload_dir` filter to simulate different environments.

Props kovshenin, azaozz.
See #34359.

git-svn-id: https://develop.svn.wordpress.org/trunk@36565 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 22:51:01 +00:00
Boone Gorges 1afe1da216 Add changelog entry for `publicly_queryable` argument in `register_taxonomy()`.
Missed in [36525].

Fixes #34491.

git-svn-id: https://develop.svn.wordpress.org/trunk@36564 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 22:03:50 +00:00
Dominik Schilling (ocean90) bc95fd2884 Tests: Add test for `wp_get_installed_translations()`.
Introduces language files in /tests/phpunit/data/language. Each file includes the header and 5 translations.

Props realloc for initial patch.
Fixes #35284.

git-svn-id: https://develop.svn.wordpress.org/trunk@36563 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 22:01:11 +00:00
Jeremy Felt fafbd9fafd Multisite: Make view mode sticky for network users and sites list tables.
Fixes #34365.


git-svn-id: https://develop.svn.wordpress.org/trunk@36562 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 21:59:51 +00:00
Jeremy Felt e198e92dff Multisite: Avoid a PHP Notice when saving a site address without a path.
Props kjbenk.
Fixes #35631.


git-svn-id: https://develop.svn.wordpress.org/trunk@36561 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 20:49:29 +00:00
Dominik Schilling (ocean90) 479596acda Plugins: Remove slashes from search terms and use `urldecode()` in non-URL contexts.
Fixes #35712.

git-svn-id: https://develop.svn.wordpress.org/trunk@36560 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 20:14:37 +00:00
Dominik Schilling (ocean90) 548a18059c Tests: Add a test for testing `wp_enqueue_script()` with an alias handle in the footer.
Props kovshenin.
See #35643.

git-svn-id: https://develop.svn.wordpress.org/trunk@36559 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 19:52:42 +00:00
Dominik Schilling (ocean90) 1d19617606 Updates: Prevent further actions if an update button is disabled.
Props adamsilverstein, afercia.
Fixes #35257.

git-svn-id: https://develop.svn.wordpress.org/trunk@36558 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 19:41:14 +00:00
Dominik Schilling (ocean90) 8445b1b48d Make `$wp_local_package` explicitly global in wp-settings.php.
Props danielbachhuber.
Fixes #34975.

git-svn-id: https://develop.svn.wordpress.org/trunk@36557 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 19:31:21 +00:00
Jeremy Felt c74db359c4 Multisite: Add a hook to the end of the network's Add New User form.
The `network_user_new_form` action can be used to extend the new user form.

Props ptahdunbar.
Fixes #15389.


git-svn-id: https://develop.svn.wordpress.org/trunk@36556 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 19:14:50 +00:00
Jeremy Felt 181f39d2e0 Multisite: Add a hook to the end of the Add Site form.
The `network_site_new_form` action can be used to extend the new site form.

Props igmoweb, ocean90.
Fixes #34739.


git-svn-id: https://develop.svn.wordpress.org/trunk@36555 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 19:02:17 +00:00
Dominik Schilling (ocean90) ab905e41b9 Credits: Remove unused strings.
Props Ankit K Gupta.
Fixes #34909.

git-svn-id: https://develop.svn.wordpress.org/trunk@36554 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 18:59:38 +00:00
Dominik Schilling (ocean90) d35f13a4e3 Install: Enhance the language of the "Success" message.
Props ckoerner.
Fixes #34897.

git-svn-id: https://develop.svn.wordpress.org/trunk@36553 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 18:57:09 +00:00
Dominik Schilling (ocean90) 653e0b0827 Tests: Add `Tests_dbDelta::assertTableHasPrimaryKey()`.
Also fix a typo in the name for the compound key.

Props charlestonsw.
Fixes #34877.

git-svn-id: https://develop.svn.wordpress.org/trunk@36552 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 18:54:27 +00:00
Andrew Ozz e1cab8a017 Styles:
- Restore loading order for wp-admin: open-sans, dashicons, etc.
- Remove couple of redundant dependencies.

See #35229.

git-svn-id: https://develop.svn.wordpress.org/trunk@36551 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 18:00:40 +00:00
Dominik Schilling (ocean90) 59747aa6b9 Script/Style Dependencies: Make sure that inline styles for handles without a source are printed.
This prevents breaking plugins which are adding inline styles to the `wp-admin` handle after [36341].

Props dd32, ocean90.
Fixes #35229.

git-svn-id: https://develop.svn.wordpress.org/trunk@36550 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 17:10:53 +00:00
Dominik Schilling (ocean90) 149686b424 Tests: Indent `test_wp_register_script()` with tabs.
git-svn-id: https://develop.svn.wordpress.org/trunk@36549 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 16:07:01 +00:00
Dominik Schilling (ocean90) 3921eb53ea Autoprefixer for [36532].
See #31195.

git-svn-id: https://develop.svn.wordpress.org/trunk@36548 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 15:38:04 +00:00
Dominik Schilling (ocean90) de9d091e76 Tests: Indent `test_wp_register_style()` with tabs.
git-svn-id: https://develop.svn.wordpress.org/trunk@36547 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 15:36:20 +00:00
Dominik Schilling (ocean90) 1750b09775 Update Backbone and Underscore to the latest versions.
Backbone, from 1.1.2 to 1.2.3. Underscore, from 1.6.0 to 1.8.3.

The new versions of Backbone and Underscore offer numerous small bug fixes and some optimizations and other improvements. Check the [http://backbonejs.org/#changelog Backbone changelog] and [http://underscorejs.org/#changelog Underscore changelog] for the full details. 

The new versions include some significant changes that may break existing code. Plugins or themes that rely on the bundled Backbone and/or Underscore libraries should carefully check functionality with the latest versions and run any available unit tests to ensure compatibility.

Some changes of note that were addressed in core as part of this upgrade:

* `_.flatten` no longer works with objects since Underscore.js 1.7. `_.flatten()` working with objects was an unintended side-affect of the implementation, see [https://github.com/jashkenas/underscore/issues/1904#issuecomment-60241576 underscore#1904]. Check any `_flatten` usage and only flatten arrays.
* As of Backbone 1.2.0, you can no longer modify the `events` hash or your view's `el` property in `initialize`, so don't try to modify them there. 
* Since Underscore 1.7, Underscore templates no longer accept an initial data object. `_.template` always returns a function now so make sure you use it that way.

Props adamsilverstein.
Fixes #34350.

git-svn-id: https://develop.svn.wordpress.org/trunk@36546 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 15:21:09 +00:00
Dominik Schilling (ocean90) f9f0015a90 Setup: Improve wording on the page for the database connection details.
See #26879.

git-svn-id: https://develop.svn.wordpress.org/trunk@36545 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 15:02:03 +00:00
Dominik Schilling (ocean90) 14aa03e37c Setup: Use "Username" instead of "User Name".
Props thisisit.
Fixes #35850.

git-svn-id: https://develop.svn.wordpress.org/trunk@36544 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 14:59:34 +00:00
Andrew Ozz 13a9d1a7e6 Do not strip slashes from the whole &_POST when doing autosaves.
Props joehoyle.
Fixes #35408.

git-svn-id: https://develop.svn.wordpress.org/trunk@36543 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 00:09:42 +00:00
Andrew Ozz d3a848c773 Comments: look for wp_error when checking whether `$wpdb->get_col_length()` has failed.
See #10377.

git-svn-id: https://develop.svn.wordpress.org/trunk@36542 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 23:49:43 +00:00
Dominik Schilling (ocean90) a440256da0 Introduce a `$parent_class` parameter for `_deprecated_constructor()`.
Use the parameter for the deprecated constructor warning in `WP_Widget` to provide an indication to which widget is using the PHP4 style constructor.

Props sebastian.pisula.
Fixes #33440.

git-svn-id: https://develop.svn.wordpress.org/trunk@36541 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 23:19:38 +00:00
Dominik Schilling (ocean90) c80ed70337 In `wp_title()` fix a 7 year old typo.
Props joelerr.
Fixes #34879.

git-svn-id: https://develop.svn.wordpress.org/trunk@36540 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 22:27:05 +00:00
Dominik Schilling (ocean90) 8535f40cf8 Themes: Use the attachment ID as the key in `get_uploaded_header_images()`.
Prevents missing header images when an image has the same name as another header image.

Props sirbrillig.
Fixes #31786.

git-svn-id: https://develop.svn.wordpress.org/trunk@36539 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 22:11:14 +00:00
Dominik Schilling (ocean90) 35579fa786 i18n: Prevent `is_textdomain_loaded()` from returning true even if there are no translations for the domain.
In `get_translations_for_domain()` don't fill the global `$l10n` with `NOOP_Translations` instances, return a `NOOP_Translations` instance instead.

Props nacin, jrf.
Fixes #21319.

git-svn-id: https://develop.svn.wordpress.org/trunk@36538 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 21:14:45 +00:00
Andrea Fercia 3e7f4fba19 Accessibility: Reduce the WordPress shades of grey, first part.
See #35783.

git-svn-id: https://develop.svn.wordpress.org/trunk@36537 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 16:08:19 +00:00
rmccue 5a945adeed REST API: Apply rest_post_dispatch to embedded responses.
Fixes #35628.
Props @danielbachhuber.


git-svn-id: https://develop.svn.wordpress.org/trunk@36536 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 06:05:02 +00:00
Ryan McCue 10bfe70f06 REST API: Allow explicit HEAD callbacks.
HEAD callbacks can now be registered independently, with the GET
callback still used as a fallback.

Fixes #34841.


git-svn-id: https://develop.svn.wordpress.org/trunk@36535 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 05:50:21 +00:00
Ryan McCue 66fc70f0e1 REST API: Add routing args to rest_dispatch_request filter.
This allows requests to be hijacked via the filter more easily.

Fixes #35507.


git-svn-id: https://develop.svn.wordpress.org/trunk@36534 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 04:40:01 +00:00
Ryan McCue d7e7c0b81b REST API: Add support for CURIEs.
CURIEs are Compact URIs, which provide a more usable way to use
custom relations in the API. The `wp` CURIE is registered by default
for `https://api.w.org/` URI relations.

Fixes #34729.
Props joehoyle.


git-svn-id: https://develop.svn.wordpress.org/trunk@36533 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 02:18:34 +00:00
Weston Ruter 6dd1dd61a1 Customize: Add a user-friendly way to preview site responsiveness for desktop, tablet, and mobile.
Introduces `WP_Customize_Manager::get_previewable_devices()` with a `customize_previewable_devices` filter to change the default device and which devices are available for previewing. This is a feature that was first pioneered on WordPress.com.

Props celloexpressions, folletto, valendesigns, westonruter, welcher, adamsilverstein, michaelarestad, Fab1en.
Fixes #31195.


git-svn-id: https://develop.svn.wordpress.org/trunk@36532 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 01:56:13 +00:00
Ryan McCue 5534474cef REST API: Fix tests from r36529.
See #35329.


git-svn-id: https://develop.svn.wordpress.org/trunk@36531 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 01:50:06 +00:00
Rachel Baker 0d4a6d0f6e REST API: Don’t display errors during REST API requests.
Uses `wp_debug_mode()` to prevent response from being broken by debug errors. Matches similar behavior of the XML-RPC API.

Props rockwell15.

Fixes #34915.

git-svn-id: https://develop.svn.wordpress.org/trunk@36530 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 01:35:40 +00:00
Ryan McCue b32aaf603e REST API: Add helper function to get server instance.
This allows using rest_do_request() outside of the API itself easily.

Props danielbachhuber, swissspidy.


git-svn-id: https://develop.svn.wordpress.org/trunk@36529 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 01:11:31 +00:00
Andrea Fercia e9f1903586 Accessibility: improve the color contrast ratio for the TinyMCE button icons.
Also, tries to use the new grays from the Design Handbook wherever applicable.

Props michaelarestad, afercia.
Fixes #35604.

git-svn-id: https://develop.svn.wordpress.org/trunk@36528 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-15 21:10:17 +00:00
Drew Jaynes 3b157e44c7 Docs: Add an internal note to the DocBlock for `comment_form_title()` explaining restoration of the `$comment` global.
See [36512]. See #35624.


git-svn-id: https://develop.svn.wordpress.org/trunk@36527 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-13 19:14:01 +00:00
Boone Gorges f50ed42ca7 Introduce `{$taxonomy}_term_edit_form_top` action to edit-tag-form.php.
This new action gives developers a place to output content at the beginning
of the form element on edit-tags.php.

Props flixos90.
Fixes #35252.

git-svn-id: https://develop.svn.wordpress.org/trunk@36526 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-13 04:00:07 +00:00
Boone Gorges 7f87a14808 Introduce `publicly_queryable` taxonomy argument.
Taxonomies registered as `publicly_queryable` can be queried as taxonomy
archives.

If not provided explicitly, the value of `publicly_queryable` is inherited
from `public`.

Props Chouby.
Fixes #34491.

git-svn-id: https://develop.svn.wordpress.org/trunk@36525 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-13 03:50:37 +00:00
Boone Gorges d03ae82c32 Improve `WP_Query` lazyloading logic, for better performance.
Lazyloading for comment meta and term meta, introduced into `WP_Query` in
4.4, used flags - `updated_term_meta_cache` and `updated_comment_meta_cache` -
in an attempt to prevent cache priming from happening more than once per query
object. This technique was mostly effective, but not entirely efficient, since
the flag didn't prevent the `lazyload_*_meta` callbacks from running. The
obvious solution - removing the filter callback after it'd be run once - was
dismissed for 4.4 because of concerns that `remove_filter()` could disable
lazyloading too generally in the context of nested queries, due to the way
`_wp_filter_build_unique_id()` doesn't always build sufficiently unique IDs for
similar objects. However, further testing shows that this concern is only valid
in a very small subset of cases, while the cost of keeping the query objects in
memory, via the `$wp_filter` global, is quite significant. As such, this
changeset removes the flags in favor of the `remove_filter()` technique.

See #35454, #35816.

git-svn-id: https://develop.svn.wordpress.org/trunk@36524 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-13 03:04:05 +00:00
Weston Ruter 9a108e99b5 Customize: Ensure that nav menu items can be shift-clicked to edit in secondary instances of the same nav menu.
When the same nav menu is shown multiple times on a page, only the first instance of the nav menu will include `id` attributes. Subsequent instances will have the `id` attributes omitted. However, in both cases the underlying nav menu item's post ID is available among the `class` names, so the post ID can be more reliably obtained from `class` instead of the `id` attribute.  

Amends [36383].
Fixes #32681.


git-svn-id: https://develop.svn.wordpress.org/trunk@36523 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-13 00:11:24 +00:00
Weston Ruter b5a54ae692 Customize: Hide widgets re-order button when no re-ordering is possible.
Hide the re-order button if there are no widgets in the sidebar, or if there is there is only one sidebar and there is only one widget in the sidebar.

Props rabmalin, westonruter.
Fixes #35533.


git-svn-id: https://develop.svn.wordpress.org/trunk@36522 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-12 23:51:16 +00:00
Rachel Baker 0b761497c5 Comments: In the comments list table, only link rows inside the “Submitted On” column to the comment if it is publicly viewable.
The date within the comments list table “Submitted On” column will only be wrapped in `get_comment_link()` if the comment is approved and associated with a valid `comment_post_ID`.

Fixes #35279.

git-svn-id: https://develop.svn.wordpress.org/trunk@36521 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-12 21:42:03 +00:00
Boone Gorges 3a0234982c Make sure fixtures have empty `post_content` in search test.
The generator sequence was causing false positives when the search terms
('1' and '0') happened to match the current sequence number (eg,
'Post content 190').

Introduced in [36278].

See #31025.

git-svn-id: https://develop.svn.wordpress.org/trunk@36520 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-12 21:06:41 +00:00
Aaron Jorbin 0e6951b7aa Improve Automated Feed Tests
Multiple improvements to the RSS2 automated tests along with the addition of Atom tests.
1. General whitespace cleanup (since the rss2 file serves as the base of the atom file).
2. Adds an author and category to the tests.
3. Since the content of the posts is the same, we don't need to test all of the post content.
4. Adds many posts so that the post count can be checked

Props stevenkword
Fixes #35160.



git-svn-id: https://develop.svn.wordpress.org/trunk@36519 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-12 19:02:25 +00:00