Commit Graph

31853 Commits

Author SHA1 Message Date
Jeremy Felt 3c2273ef45 MS: Introduce `*_network_option` functions.
Introduces `add_network_option()`, `update_network_option()`, `get_network_option()`, and `delete_network_option()`, which use the internals previously found in the `*_site_option()` functions and allow for a network ID to enable cross network storage and retrieval of network options.

* `*_site_option()` functions are now wrappers for `*_network_option()` and will interact with options for the current network in a multisite environment.
* All will continue to fallback to `*_option()` for non-multisite uses.
* Adds basic tests for cross network storage and retrieval.
* Existing tests for `*_site_option()` functions provide coverage for storage and retrieval of current network options.

Props spacedmonkey, DrewAPicture, jeremyfelt.
See #28290.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34742 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 18:01:27 +00:00
Aaron Jorbin 0da3150609 Add PHP Nightlies to the test suite
PHP branched master for 7, which means that nightly builds are now technically 7.1. The difference is minimal at the moment, but it's a good idea for us to test against the nightly build in part so that regressions can be reported upstream. Nightlies are allowed failure so that the build doesn't go red due to unstable versions. Additionally, nightlies are not officially supported by WordPress Core.

See #33410

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


git-svn-id: http://core.svn.wordpress.org/trunk@34741 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 16:51:28 +00:00
Boone Gorges d3dd6a93e8 More explicit tests for `image_get_intermediate_size()`.
After [33807], `Tests_Image_Intermediate_Size::test_get_intermediate_sizes_by_array_zero_width()`
was failing intermittently. This failure was due to the use of a random number
for the image height. When the height was sufficiently large - $height >= 202 -
to change the aspect ratio of the cropped image (based on WP's threshold of a
1px difference), the test passed. And when the height was exactly 200, the
medium image size was hit exactly. The failure occurred only with a height of
201, which is close enough to 200 so that WP determined that the aspect ratio
of the potential crop was close enough to match.

The current changeset splits the test into two, in order to demonstrate the
failure.

See #17626. Fixes #34087.
Built from https://develop.svn.wordpress.org/trunk@34775


git-svn-id: http://core.svn.wordpress.org/trunk@34740 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 14:14:24 +00:00
Boone Gorges 1b91e135a1 Pinking shears in shortcode test file.
Built from https://develop.svn.wordpress.org/trunk@34774


git-svn-id: http://core.svn.wordpress.org/trunk@34739 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 13:52:14 +00:00
Boone Gorges 334fe04832 Improvements to PCRE benchmarking tests.
* Add test file accidentally omitted from [34761].
* Bail properly from benchmarker when a `preg_last_error()` is found.

Props miqrogroove.
See #34121.
Built from https://develop.svn.wordpress.org/trunk@34773


git-svn-id: http://core.svn.wordpress.org/trunk@34738 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 13:51:50 +00:00
Boone Gorges 4265fa897a Fix `preg_match_all()` syntax in PCRE benchmark test util.
In versions of PHP earlier than 5.4, the `$matches` parameter was required.
Excluding it here meant that PCRE benchmarking tests were erroring on older
versions of PHP without cleaning up the PCRE ini settings, causing various
problems on later tests.

Props miqrogroove, dd32, boonebgorges.

And to the cosmic forces that cause bugs like this. The best part of waking up
is diagnosing leakage between automated tests.

See #34121.
Built from https://develop.svn.wordpress.org/trunk@34772


git-svn-id: http://core.svn.wordpress.org/trunk@34737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 13:51:26 +00:00
Dion Hulse 19ee18ccc2 Skip two `wp_json_encode()` tests when mbstring is unavailable.
Built from https://develop.svn.wordpress.org/trunk@34771


git-svn-id: http://core.svn.wordpress.org/trunk@34736 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 08:55:26 +00:00
Drew Jaynes c6bbcdb256 Docs: Remove documentation for a phantom parameter not actually passed to the `is_email` filter.
The documentation error was introduced in [26485].

Props chrisvendiadvertisingcom.
Fixes #34097.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34735 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 07:03:25 +00:00
Drew Jaynes a3ead57e90 Introduce the `wp_add_nav_menu_item` action, fired immediately after a new nav menu item has been added.
This hook can be leveraged both for the legacy menus interface and the menus integration in the Customizer, as both use the containing function, `wp_update_nav_menu_item()`.

Props MikeHansenMe, tyxla.
Fixes #30983.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34734 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 06:46:24 +00:00
Drew Jaynes e6da469a20 Docs: Fix a few syntatical issues with inline documentation in wp-includes/post-template.php.
Props welcher.
See #30224.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34733 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 06:38:26 +00:00
Scott Taylor 08ab8bad4b Unit Tests: when `wp_using_ext_object_cache()`, mark some transient tests as skipped.
Props ocean90.
See #31491.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34732 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 05:10:25 +00:00
Scott Taylor 8d1161392a Unit Tests: tests that want to flush the cache should use their instance method instead of calling `wp_cache_flush()` - more properties need to be wiped out in between tests.
Props ocean90.
See #31491.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34731 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 05:09:25 +00:00
Scott Taylor 51cdca0906 Unit Tests: in `Tests_Cache::test_wp_cache_init()`, when `wp_using_ext_object_cache()`, just check that the global is an instance of `WP_Object_Cache`. External object cache instances of `WP_Object_Cache` will contain resources as props that will always have differing internal IDs, so strict comparison won't work.
See #31491.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34730 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 05:06:24 +00:00
Drew Jaynes 769ad80521 Docs: Also clarify the expected element types depending on the value of `$action` in the hook doc for the `plugins_api` filter.
See [34763] for context.

See #34035.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34729 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 04:52:25 +00:00
Drew Jaynes 8478a1341b Docs: Clarify the expected replacement element type if replacing the object or array in `plugins_api()` via the `plugins_api` hook.
If the `$action` type is 'query_plugins' or 'plugin_information', the API will return an object, thus an object should be passed if replacing it. For 'hot_tags' and 'hot_categories', the same logic applies, but with arrays instead.

See #34035.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34728 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 04:48:25 +00:00
Scott Taylor 5c6c4e3713 Posts: In `wp_insert_post()`, don't set `post_date` to current time if it can be derived from a passed value for `post_date_gmt`.
Adds unit tests.

Props oso96_2000, kawauso.
Fixes #15946.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34727 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 04:36:24 +00:00
Scott Taylor 7a0f8602f3 Shortcodes/Formatting: Add PCRE Performance Testing
* Move pattern from `wptexturize()` into a separate function.
* Move pattern from `wp_html_split()` into a separate function.
* Beautify code for `wp_html_split()`.
* Remove unnecessary instances of `/s` modifier in patterns that don't use dots.
* Add `tests/phpunit/data/formatting/whole-posts.php` for testing larger strings.
* Add function `benchmark_pcre_backtracking()`.
* Add tests for `wp_html_split()`.
* Add tests for `wptexturize()`.
* Add tests for `get_shortcode_regex()`.

Props miqrogroove.
Fixes #34121.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34726 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 04:26:25 +00:00
Scott Taylor da1c938a5c Plugins: on the Install page, move the name of each plugin into the `<h4>` to accommodate screen readers.
Props afercia, ChrisMKindred.
Fixes #32400.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34725 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 04:16:27 +00:00
Jeremy Felt ddc1670e90 Tests: Clarify site option tests storing and retrieving serialized data.
See #28290.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34724 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 02:06:26 +00:00
Jeremy Felt 8908480594 Tests: Split `test_default_filter()` Site Option test into multiple tests.
See #28290.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34723 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 01:56:26 +00:00
Jeremy Felt a7a239b39b Tests: Split `test_the_basics()` Site Option test into many tests.
Many assertions in one test are now many tests with one assertion.

See #28290.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34722 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 01:33:50 +00:00
Jeremy Felt e2c6216b21 MS: Remove `@todo` for `ms_protect_special_option()` from `delete_site_option()`.
This todo has been in place since the original merge of MU. At the time of merge, `wpmu_protect_special_option()` protected an empty array, and there has been no noticeable need since. As we introduce `_network_option()`, let's leave this behind. A new ticket can be opened if necessary.

See #28290.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34721 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 22:46:28 +00:00
John Blackbourn ea28454867 Deprecate `get_admin_users_for_domain()`. This function has never been used in core.
Fixes #34122

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


git-svn-id: http://core.svn.wordpress.org/trunk@34720 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 22:27:24 +00:00
John Blackbourn f33c6a6650 This function is blessed.
Built from https://develop.svn.wordpress.org/trunk@34754


git-svn-id: http://core.svn.wordpress.org/trunk@34719 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 22:24:24 +00:00
John Blackbourn d0d9e4c8d8 Deprecate `create_empty_blog()`. This function has never been used in core.
Fixes #34120

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


git-svn-id: http://core.svn.wordpress.org/trunk@34718 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 22:10:26 +00:00
Dominik Schilling 25b1dd594a Install: Replace the "Privacy" setting with the "Search Engine Visibility" setting from Reading Settings.
Props Clorith, ocean90.
Fixes #27628.
See #16416.
Built from https://develop.svn.wordpress.org/trunk@34752


git-svn-id: http://core.svn.wordpress.org/trunk@34717 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 21:35:25 +00:00
Dominik Schilling 18413f3e81 Upgrader: Clear plugin/theme caches directly after a plugin/theme has been installed.
`wp_update_plugins()` and `wp_update_themes()` are both hooked into `upgrader_process_complete` with priority 10. But at this stage the caches in `get_plugins()`, `search_theme_directories()`, and `wp_get_themes()` aren't refreshed yet so both functions couldn't fetch any translations for the new plugin/theme.
To reset the caches `wp_clean_themes_cache()` and `wp_clean_plugins_cache()` are now hooked into `upgrader_process_complete` with priority 9.

Fixes #34029.
Built from https://develop.svn.wordpress.org/trunk@34751


git-svn-id: http://core.svn.wordpress.org/trunk@34716 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 21:21:25 +00:00
Jeremy Felt 7c7eee01ef MS: Remove registration of ID column in Sites and Users list tables.
Reverts a portion of [34289] and leaves the render for the column behind. A plugin can register these fields for display via filter.

Fixes #18661.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34715 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 20:58:24 +00:00
Jeremy Felt f69396c229 MS: Provide better UI when a main site's `/blog` prefix is changed.
The main site on a new network is forced by default into using `/blog` as the prefix for its permalink structure. This can be changed easily through the network admin, though the `options-permalink.php` screen is then unusable to make further changes to the structure.

Now, if `/blog/` is not at the beginning of the `permalink_structure` option, we do not force `/blog` as a prefix in the UI.

Fixes #12002.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34714 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 20:39:24 +00:00
Dominik Schilling 113a9d4517 Language Upgrader: Re-use the automatic upgrader skin if the parent upgrader is using it.
Prevents broken Ajax responses when `Language_Pack_Upgrader::async_upgrade()` gets triggered during a shiny update.

Fixes #34048.
Built from https://develop.svn.wordpress.org/trunk@34748


git-svn-id: http://core.svn.wordpress.org/trunk@34713 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 20:25:26 +00:00
Scott Taylor 99347fd96e Shortcodes: Fix PCRE performance bugs in `get_shortcode_regexp()` and related to `wptexturize()`, `do_shortcode()`, and `strip_shortcodes()`
Alters unit tests.

Props miqrogroove.
Fixes #33517.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34712 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 18:05:25 +00:00
Drew Jaynes a985977856 Docs: Update the argument descriptions for `$child_of` and `$hierarchical` in `get_pages()` to more closely reflect expected behavior.
See #18701. See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34711 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 17:40:25 +00:00
Scott Taylor d8179a2a1f Shortcodes: prevent registration of invalid shortcode names.
Adds unit tests.

Props miqrogroove.
Fixes #34090.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34710 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 17:34:24 +00:00
Scott Taylor 82f244414e Shortcodes: clarify the `@return` docs for `shortcode_parse_atts()`.
Props miqrogroove.
See #23307.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34709 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 17:32:26 +00:00
Andrea Fercia 0acededa82 In `wp_comment_reply()` change the H5 headings in fieldset legends for better accessibility.
Also, add a "Edit Comment" legend before the Quick Edit form to pair it with "Reply to Comment" and "Add new Comment" and move the Name, Email, and URL fields after the Comment textarea.

Props joedolson, afercia.

Fixes #33757.
Built from https://develop.svn.wordpress.org/trunk@34743


git-svn-id: http://core.svn.wordpress.org/trunk@34708 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 14:52:25 +00:00
Andrea Fercia 5a2627d38a Bump H3 headings to H2 on the Network Site Users screen for better accessibility.
Fixes #34081.
Built from https://develop.svn.wordpress.org/trunk@34742


git-svn-id: http://core.svn.wordpress.org/trunk@34707 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 14:33:26 +00:00
Boone Gorges 8be90670f3 Make sure permastruct is set in `comments_template()` tests.
After [34735].
Built from https://develop.svn.wordpress.org/trunk@34741


git-svn-id: http://core.svn.wordpress.org/trunk@34706 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 12:27:29 +00:00
Dion Hulse 868fc06fd4 Update Akismet external to 3.1.4 in trunk.
git-svn-id: http://core.svn.wordpress.org/trunk@34705 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 11:23:47 +00:00
Dion Hulse dc9203d753 Rewrite `insert_with_markers()` to use `flock()` when available, significant cleanup of the function too.
The call to `flock()` is an exclusive advisory lock, which in my testing only PHP respects (apache continues to read it).
Not all filesystems support locking (remote NFS mounts for example) so this offers minimal benefit to those platforms, but offers much better protection against file corruption on systems which do support it.
The call is blocking, so a second process will wait for the first to complete before writing if supported.

See #31767

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


git-svn-id: http://core.svn.wordpress.org/trunk@34704 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 07:46:27 +00:00
Dion Hulse a4c41f6ee4 Updates: SSH2 Transport: Add a connection error when the SFTP subsystem cannot be initialized.
Fixes #33478

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


git-svn-id: http://core.svn.wordpress.org/trunk@34703 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 05:43:25 +00:00
Dion Hulse d8aaf01b97 Updates: SSH2 Transport: Use a work around to avoid a bug where PHP's SSH2 extension fails to list the contents of the `/` directory.
This fixes issues where SSH2 with chrooted environments runs into a `Unable to locate WordPress Content directory (wp-content).` error.

The workaround is to simply list the contents of the `/./` directory instead of `/`.

Fixes #33919

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


git-svn-id: http://core.svn.wordpress.org/trunk@34702 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 05:40:25 +00:00
Gary Pendergast 3942226c90 WPDB: Allow `null` values in the CRUD functions.
Specifically, `::insert()`, `::replace()`, `::update()`, and `::delete()` can now set a column to `NULL`, or add the `IS NULL` condition to the `WHERE` clause.

This is based on [backpress 279].

Props pento, nbachiyski, sorich87.

Fixes #15158.


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


git-svn-id: http://core.svn.wordpress.org/trunk@34701 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 05:37:26 +00:00
Dion Hulse 9caa7c4ba7 Press This: Make the regular expressions for matching images easier to read by not requiring escaping.
Fixes #32878

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


git-svn-id: http://core.svn.wordpress.org/trunk@34700 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 05:16:25 +00:00
Boone Gorges b23fdba5a2 Ensure that comment permalinks reflect pagination.
After [34561], `wp_list_comments()` no longer passed all of a post's comments
to `Walker_Comments`. As a result, calls to `get_comment_link()` occurring
inside the comment loop had insufficient context to determine the proper
'cpage' value to use when generating comment permalinks. This, in turn, caused
comment permalinks to behave erratically.

The current changeset addresses the problem as follows:

* `get_comment_link()` now accepts a 'cpage' parameter. When present, 'cpage' will be used to build the comment permalink - no automatic calculation will take place.
* When called within the main loop, `wp_list_comments()` calculates the proper 'cpage' value for comments in the loop, and passes it down to `get_comment_link()`.
* `cpage` and `comment-page-x` query vars are generally required in comment permalinks (see #34068), but an exception is made when 'default_comment_page=oldest': the bare post permalink will always be the same as `cpage=1`, so `cpage` is excluded in this case.

Props peterwilsoncc for assiduous spreadsheeting.
Fixes #34073.
Built from https://develop.svn.wordpress.org/trunk@34735


git-svn-id: http://core.svn.wordpress.org/trunk@34699 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 05:13:25 +00:00
Scott Taylor b97dd529fa Canonical: remove unused code (commented-out) from `redirect_canonical()`.
Props hakre, chriscct7.
Fixes #16934.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34698 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 05:09:50 +00:00
Dion Hulse 731b51ee7f Updates: Try a more compatible method to detect if a file exists when using the FTP Extension.
This change causes it to list the parent directories files, and assets that the node exists within the returned listing, this is a little more compatible than relying upon the FTP server to correctly filter the returned resultset to the specific file/node being requested.
Fixes #28013

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


git-svn-id: http://core.svn.wordpress.org/trunk@34697 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 05:09:25 +00:00
Boone Gorges 51ddf2ca9c Correct some `WP_Query` metadata lazyloading docs.
Props dlh.
Fixes #34047.
Built from https://develop.svn.wordpress.org/trunk@34732


git-svn-id: http://core.svn.wordpress.org/trunk@34696 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 04:01:48 +00:00
Boone Gorges 80654eb17a s/`add_action()`/`add_filter()` in `WP_Query` metadata lazyloading.
Props dlh.
See #34047.
Built from https://develop.svn.wordpress.org/trunk@34731


git-svn-id: http://core.svn.wordpress.org/trunk@34695 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 04:01:24 +00:00
Boone Gorges b2f253fc8e Prevent extra db queries in `WP_Comment::get_children()`.
`WP_Comment_Query::fill_descendants()` queries for a comment tree in a way that
minimizes database overhead, and places the located descendants with their
proper parents. However, it doesn't touch leaf nodes - comments with no
children - so future calls to `get_children()` on those comment objects
result in unnecessary database queries. To prevent this, `fill_descendants()`
now sets a `populated_children` flag on all located `WP_Comment` objects.

See #8071.
Built from https://develop.svn.wordpress.org/trunk@34730


git-svn-id: http://core.svn.wordpress.org/trunk@34694 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 03:58:23 +00:00
Boone Gorges dd9709d179 Simplify pagination logic in `comments_template()`.
[34561] "fixed" the problem of newest-first comments showing fewer than
'per_page' comments on the post permalink when the total number of comments
was not divisible by 'per_page'. See #29462. But this fix caused numerous
other problems. First, comment pages reported by `get_page_of_comment()`
(which expects comment pages to be filled oldest-first) were no longer correct.
Second, and more seriously, the new logic caused comments to be shifted
between pages, making their permalinks non-permanent.

The current changeset reverts the changed behavior. In order to preserve the
performance improvements introduced in [34561], an additional query must be
performed when 'default_comments_page=newest' and 'cpage=0' (ie, you're viewing
the post permalink). A nice side effect of this revert is that we no longer
need the hacks required to determine proper comment pagination, introduced in
[34561].

See #8071. See #34073.
Built from https://develop.svn.wordpress.org/trunk@34729


git-svn-id: http://core.svn.wordpress.org/trunk@34693 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 03:11:30 +00:00