Commit Graph

5692 Commits

Author SHA1 Message Date
Boone Gorges 4e051fa421 After [35461], remove 'page_comments' from database.
* Don't set as part of initial schema.
* Delete as part of the `$unusedoptions` routine.

Props ocean90.
See #8071.
Built from https://develop.svn.wordpress.org/trunk@34562


git-svn-id: http://core.svn.wordpress.org/trunk@34526 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 20:50:25 +00:00
Boone Gorges 18d6b3c8dc Force comment pagination on single posts.
Previously, the 'page_comments' toggle allowed users to disable comment
pagination. This toggle was only superficial, however. Even with
'page_comments' turned on, `comments_template()` loaded all of a post's
comments into memory, and passed them to `wp_list_comments()` and
`Walker_Comment`, the latter of which produced markup for only the
current page of comments. In other words, it was possible to enable
'page_comments', thereby showing only a subset of a post's comments on a given
page, but all comments continued to be loaded in the background. This technique
scaled poorly. Posts with hundreds or thousands of comments would load slowly,
or not at all, even when the 'comments_per_page' setting was set to a
reasonable number.

Recent changesets have addressed this problem through more efficient tree-
walking, better descendant caching, and more selective queries for top-level
post comments. The current changeset completes the project by addressing the
root issue: that loading a post causes all of its comments to be loaded too.

Here's the breakdown:

* Comment pagination is now forced. Setting 'page_comments' to false leads to evil things when you have many comments. If you want to avoid pagination, set 'comments_per_page' to something high.
* The 'page_comments' setting has been expunged from options-discussion.php, and from places in the codebase where it was referenced. For plugins relying on 'page_comments', we now force the value to `true` with a `pre_option` filter.
* `comments_template()` now queries for an appropriately small number of comments. Usually, this means the `comments_per_page` value.
* To preserve the current (odd) behavior for comment pagination links, some unholy hacks have been inserted into `comments_template()`. The ugliness is insulated in this function for backward compatibility and to minimize collateral damage. A side-effect is that, for certain settings of 'default_comments_page', up to 2x the value of `comments_per_page` might be fetched at a time.
* In support of these changes, a `$format` parameter has been added to `WP_Comment::get_children()`. This param allows you to request a flattened array of comment children, suitable for feeding into `Walker_Comment`.
* `WP_Query` loops are now informed about total available comment counts and comment pages by the `WP_Comment_Query` (`found_comments`, `max_num_pages`), instead of by `Walker_Comment`.

Aside from radical performance improvements in the case of a post with many
comments, this changeset fixes a bug that caused the first page of comments to
be partial (`found_comments` % `comments_per_page`), rather than the last, as
you'd expect.

Props boonebgorges, wonderboymusic.
Fixes #8071.
Built from https://develop.svn.wordpress.org/trunk@34561


git-svn-id: http://core.svn.wordpress.org/trunk@34525 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 20:40:25 +00:00
John Blackbourn a729efa688 Implement 'Recently Active' functionality for network-wide plugins in the Network Admin.
Fixes #20468
Thanks to WordCamp RI attendees for testing!

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


git-svn-id: http://core.svn.wordpress.org/trunk@34515 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 19:16:27 +00:00
John Blackbourn c69ec5a19a Introduce a `send_update_notification_email` which controls whether an update notification email is sent for background updates. This filter allows control over each of the update types (plugin, theme, translation) and compliments the `automatic_updates_send_debug_email` and `send_core_update_notification_email` filters.
Fixes #33932
Props ronalfy

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


git-svn-id: http://core.svn.wordpress.org/trunk@34507 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 14:29:23 +00:00
Scott Taylor 8a8e6557d0 Revisions: add a `'wp_prepare_revision_for_js'` filter.
Props jtsternberg, adamsilverstein.
Fixes #28627.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34505 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 14:04:24 +00:00
Boone Gorges fd946a9b5a Pinking shears.
Built from https://develop.svn.wordpress.org/trunk@34534


git-svn-id: http://core.svn.wordpress.org/trunk@34498 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 04:44:25 +00:00
Boone Gorges 8b4a5d1ec0 Introduce metadata for taxonomy terms.
Adds a new table to the database schema (`wp_termmeta`), and a set of
`*_term_meta()` API functions. `get_terms()` and `wp_get_object_terms()`
now also support 'meta_query' parameters, with syntax identical to other
uses of `WP_Meta_Query`.

When fetching terms via `get_terms()` or `wp_get_object_terms()`, metadata for
matched terms is preloaded into the cache by default. Disable this behavior
by setting the new `$update_term_meta_cache` paramater to `false`.

To maximize performance, within `WP_Query` loops, the termmeta cache is *not*
primed by default. Instead, we use a lazy-loading technique: metadata for all
terms belonging to posts in the loop is loaded into the cache the first time
that `get_term_meta()` is called within the loop.

Props boonebgorges, sirzooro.
See #10142.
Built from https://develop.svn.wordpress.org/trunk@34529


git-svn-id: http://core.svn.wordpress.org/trunk@34493 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 03:59:27 +00:00
Andrea Fercia 6fdd384fe0 Comments List Table: fix the translators comment for all count after [34506].
See #17275.
Built from https://develop.svn.wordpress.org/trunk@34508


git-svn-id: http://core.svn.wordpress.org/trunk@34472 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 18:40:24 +00:00
Scott Taylor 4671e03766 Comments List Table: include count for "All". Dynamically update.
Fixes #17275.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34470 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 17:57:25 +00:00
John Blackbourn 41edf2bc22 Correctly present an error to the user if the nickname field is empty when updating a user profile. It's strange that this field is required, but it is, so be it.
Fixes #33310
Props prasad-nevase, metodiew

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


git-svn-id: http://core.svn.wordpress.org/trunk@34469 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 17:49:25 +00:00
Scott Taylor bc5eb3a623 Comments: add `date` column to `WP_Comments_List_Table` to allow sorting and to break out the date/time from the comment content column.
Props jshreve.
Fixes #15520.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34468 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 17:27:26 +00:00
Scott Taylor 5b9af35c4c Comments: update Comment counts dynamically in the Right Now widget based on moderation actions in the Activity widget.
Fixes #10422.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34464 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 15:53:25 +00:00
Drew Jaynes 9dba452afc Docs: Standardize and clarify class DocBlocks for all of the Upgrade API classes.
Standardizes summaries and tags for the following classes:

* `WP_Upgrader`
* `Plugin_Upgrader`
* `Theme_Upgrader`
* `Language_Pack_Upgrader`
* `Core_Upgrader`
* `File_Upload_Upgrader`
* `WP_Automatic_Updater`

See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34463 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 14:54:25 +00:00
Drew Jaynes dae68e1485 Docs: Clarify the file header for wp-admin/includes/class-wp-upgrader.php.
See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34462 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 14:44:25 +00:00
Drew Jaynes 8c0a805273 Docs: Mark the optional `$upgrader` parameter as such and add a description in the DocBlock for `Language_Pack_Upgrader::async_upgrade()`.
See [32655].

See #30989. See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34461 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 14:35:25 +00:00
Drew Jaynes 0fc9bed46e Docs: Add a summary, version, and parameter and return descriptions to the DocBlock for `WP_Filesystem_ftpsockets::get_contents()`.
Also reverses the return types as `string` is expected, `false` is the outlier.

See [30978].

See #30989. See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34459 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 14:22:24 +00:00
Drew Jaynes fbb6ef1922 Docs: Add a summary, version, and parameter and return descriptions to the DocBlock for `WP_Filesystem_FTPext::get_contents()`.
Also reverses the return types as `string` is expected, `false` is the outlier.

See [30978].

See #30989. See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34457 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 14:11:26 +00:00
Scott Taylor 25f206e01f List Tables: add JS code to dynamically toggle the `disabled` attribute of the Bulk Actions dropdown and Apply button.
Props wonderboymusic, pareshradadiya.
Fixes #31634.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34431 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 01:07:24 +00:00
Boone Gorges 3c028a80d4 Allow `comment_exists()` to match based on GMT date.
The `comment_date_gmt` field of the `wp_comments` table is indexed, which makes
`WHERE` matches against the field much faster than against the unindexed
`comment_date`. For bulk operations like data import, the speed difference can
be meaningful.

We continue to default to 'blog' for `$timezone`, to preserve compatibility
with existing uses.

Props apokalyptik.
Fixes #33871.
Built from https://develop.svn.wordpress.org/trunk@34460


git-svn-id: http://core.svn.wordpress.org/trunk@34424 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-23 18:16:26 +00:00
John Blackbourn af1517279e Avoid a PHP notice if the `last_updated` property isn't present in a plugin's data from the Plugins API.
Fixes #33024
Props icetee

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


git-svn-id: http://core.svn.wordpress.org/trunk@34422 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-23 15:10:25 +00:00
Scott Taylor 939d9b7395 Remove some unused globals and/or their docs.
See ##33491.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34410 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 20:27:25 +00:00
Drew Jaynes fc3ec39515 Docs: Clarify the file header summary for wp-admin/includes/template-functions.php, introduced in [34241].
See #33413. See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34391 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 14:37:25 +00:00
Drew Jaynes b168337aab Docs: Clarify the file header summary for wp-admin/includes/class-wp-internal-pointers.php, introduced in [34241].
Also adds a missing class DocBlock to `WP_Internal_Pointers`. See [19388].

See #33413. See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34390 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 14:35:25 +00:00
Drew Jaynes 2a37e00b92 Docs: Clarify the file header summary for wp-admin/includes/class-walker-category-checklist.php, introduced in [34241].
Also clarifies the class DocBlock summary for `Walker_Category_Checklist`.

See #33413. See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34389 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 14:33:48 +00:00
Sergey Biryukov 8db1c75a7e Remove extra HTML from translatable strings in `WP_Comments_List_Table::get_views()`.
Add a context and translator comments.

Props Tmeister for initial patch.
Fixes #31859.
Built from https://develop.svn.wordpress.org/trunk@34424


git-svn-id: http://core.svn.wordpress.org/trunk@34388 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 14:33:25 +00:00
Drew Jaynes c7022a334d Docs: Clarify the file header summary for wp-admin/includes/class-wp-post-comments-list-table.php, introduced in [34223].
Also clarifies the class DocBlock summary and tags for `WP_Post_Comments_List_Table`.

See #33413. See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34387 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 14:31:24 +00:00
Drew Jaynes d7624168cd Docs: Clarify the class DocBlock summary for `WP_Screen`.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34386 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 14:28:24 +00:00
Drew Jaynes ee97475edb Docs: Add a file header to wp-admin/includes/nav-menus.php.
See [34168]. See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34385 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 14:27:24 +00:00
Drew Jaynes e845a6ed97 Docs: Update the file path in the duplicate hook comment for the `admin_xml_ns` hook in wp-admin/includes/template-functions.php.
The hook was "moved" to the newly-created template-functions.php file via `svn cp` in [34241].

Props dimadin.
See #33413.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34355 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 10:32:26 +00:00
Scott Taylor f9c2a88a8a List Tables: when comparing string literals (non-numeric in nature) against vars, strict comparison can/should be used.
Props wonderboymusic, Viper007Bond.
Fixes #21249.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34347 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 06:06:25 +00:00
Scott Taylor 3c1e05f7c9 Dashboard: 2 submit buttons don't need names.
Props garyc40, gizburdt.
Fixes #16345.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34346 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 05:45:26 +00:00
Scott Taylor aa8c76258a After [34374], ensure that `$iptc` is defined.
See #33772.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34342 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 04:49:24 +00:00
Scott Taylor 1d513fe737 Media: In `wp_read_image_metadata()`, include IPTC Keywords when available in `$meta`.
Adds unit test.

Props swissspidy, dbru, SteveHoneyNZ.
Fixes #33772.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34338 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 04:19:24 +00:00
Scott Taylor 3ad78c4ec5 Help Tabs: when returning help tabs, return them in order of priority, but also return the items in each priority in the order that they were added.
Fixes #33941.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34334 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 03:37:25 +00:00
Drew Jaynes 8241813825 Docs: Move a duplicate hook comment accidentally left behind when its corresponding filter was relocated in [31765].
See #31443. See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34332 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-21 23:13:26 +00:00
Helen Hou-Sandí dd08157024 Notices: Add styles for use against white backgrounds.
These colored backgrounds can be accessed by adding the `.notice-alt` class to a notice.

There is also now a large version when using the `.notice-large` class, and a `.notice-title` class that is appropriate for headline text within a large notice.

props paulwilde, hugobaeta, melchoyce.
fixes #32244.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34329 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-21 15:26:25 +00:00
Scott Taylor f4121923da Meta Boxes: In `post_categories_meta_box()`, convert some spaces to tabs.
Props miyauchi.
Fixes #33945.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34328 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-21 15:18:26 +00:00
John Blackbourn f38013229b Implement a 'Mine' link on post listing screens in the admin area for all users who have authored posts. This feature was previously only available to users who cannot edit other users' posts (namely Authors and Contributors).
Props linuxologos, wonderboymusic
Fixes #19609

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


git-svn-id: http://core.svn.wordpress.org/trunk@34324 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-20 17:28:24 +00:00
Dominik Schilling ca3e65e20e Upgrader: Avoid using an HTML tag in a translation string, add translator comments.
Props ramiy for initial patch. 
Fixes #31860.
Built from https://develop.svn.wordpress.org/trunk@34352


git-svn-id: http://core.svn.wordpress.org/trunk@34316 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-20 08:59:24 +00:00
Sergey Biryukov d63bb56030 Pass the current post object to `'page_attributes_meta_box_template'` action added in [34340].
Props DrewAPicture.
Fixes #33625.
Built from https://develop.svn.wordpress.org/trunk@34350


git-svn-id: http://core.svn.wordpress.org/trunk@34314 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-20 08:15:28 +00:00
Drew Jaynes 292243944f Docs: Use standardized vernacular in the hook doc summary for the `page_attributes_meta_box_template` filter, introduced in [34340].
See #33625.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34313 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-20 06:38:25 +00:00
Scott Taylor 84da11d918 Pass `false` as the 2nd argument to `class_exists()` to disable autoloading and to not cause problems for those who define `__autoload()`.
Fixes #20523.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34312 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-20 03:52:25 +00:00
Scott Taylor 82709c30d9 The `'get_sample_permalink_html'` filter​'s second parameter can be a post ID or a post object. This is confusing. We should pass the post ID and post object separately, for consistency with `'get_sample_permalink'` filter added in [34309].
Props SergeyBiryukov.	
Fixes #33927.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34311 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-20 03:26:25 +00:00
Scott Taylor 89a03563c9 In `page_attributes_meta_box()`, add an action, `'page_attributes_meta_box_template'` to allow callbacks to be performed and HTML to be inserted after the title of the Template section.
Props sgrant.	
Fixes #33625.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34304 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-20 02:40:24 +00:00
Scott Taylor 864b54d46f Export: Add late-escaping to the contents of several nodes to avoid creating invalid XML and XML parse errors.
Props westonruter.
Fixes #33732.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34297 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-19 18:53:25 +00:00
Scott Taylor 47fead7a38 Post List Table: 'All' view should be selected when appropriate for paged responses.
Props kraftbj, wonderboymusic.
Fixes #33923.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34295 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-19 18:17:24 +00:00
Scott Taylor fc8c624a61 Reinstate [34327]. minus the unit test deletion.
Built from https://develop.svn.wordpress.org/trunk@34329


git-svn-id: http://core.svn.wordpress.org/trunk@34293 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-19 17:49:24 +00:00
Scott Taylor 863fd80150 Revert [34327] to fix the accidental deletion of some unit tests.
Built from https://develop.svn.wordpress.org/trunk@34328


git-svn-id: http://core.svn.wordpress.org/trunk@34292 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-19 17:46:24 +00:00
Scott Taylor 003edb6ea7 Export: Add a filer, `'export_wp_filename'` to change the filename of the file to download when exporting.
Props MikeHansenMe, wonderboymusic.
Fixes #29500.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34291 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-19 17:44:24 +00:00
Scott Taylor 0fd01b9057 Export: allow Media to exported separately from other types.
Props PhilipLakin.
Fixes #32230.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34290 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-19 16:47:25 +00:00