Commit Graph

283 Commits

Author SHA1 Message Date
Felix Arntz 1c2ff54037 Upgrade/Install: Fix coding standard errors after [43629].
See #44896.

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


git-svn-id: http://core.svn.wordpress.org/trunk@43459 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-09-05 12:50:24 +00:00
Felix Arntz def921f6a5 Upgrade/Install: Introduce `populate_site_meta()`.
Fixes #44896. See #41333.

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


git-svn-id: http://core.svn.wordpress.org/trunk@43458 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-09-05 11:02:24 +00:00
Felix Arntz ea2550180b Upgrade/Install: Introduce `populate_network_meta()`, moving logic out of `populate_network()`.
Fixes #44895. See #41333.

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


git-svn-id: http://core.svn.wordpress.org/trunk@43457 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-09-05 10:45:23 +00:00
Felix Arntz e2f9dfcebb Upgrade/Install: Add support for an optional `$options` parameter to `populate_options()`.
Fixes #44893. See #41333.

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


git-svn-id: http://core.svn.wordpress.org/trunk@43456 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-09-05 09:39:24 +00:00
Gary Pendergast 56c162fbc9 Coding Standards: Upgrade WPCS to 1.0.0
WPCS 1.0.0 includes a bunch of new auto-fixers, which drops the number of coding standards issues across WordPress significantly. Prior to running the auto-fixers, there were 15,312 issues detected. With this commit, we now drop to 4,769 issues.

This change includes three notable additions:
- Multiline function calls must now put each parameter on a new line.
- Auto-formatting files is now part of the `grunt precommit` script. 
- Auto-fixable coding standards issues will now cause Travis failures.

Fixes #44600.


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


git-svn-id: http://core.svn.wordpress.org/trunk@43400 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-08-17 01:51:36 +00:00
Sergey Biryukov a90f215d2c Privacy: Revert [43525].
The commenter cookies checkbox is not legally required, so should be disabled by default.

Fixes #44373.
Built from https://develop.svn.wordpress.org/trunk@43531


git-svn-id: http://core.svn.wordpress.org/trunk@43360 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-07-24 17:06:24 +00:00
Sergey Biryukov d68b2b5a2b Privacy: Remove the setting to enable comment cookies consent added in [43469].
This needs some more work to ensure expected behaviour.

See #44373.
Built from https://develop.svn.wordpress.org/trunk@43525


git-svn-id: http://core.svn.wordpress.org/trunk@43354 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-07-24 12:51:29 +00:00
Andrew Ozz 3b3542fe15 Privacy: Add a setting to disable comment cookie consent.
Fixes #44373.
Built from https://develop.svn.wordpress.org/trunk@43469


git-svn-id: http://core.svn.wordpress.org/trunk@43296 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-07-17 09:08:26 +00:00
Andrew Ozz 2e9b08b3a2 Privacy: add `wp_page_for_privacy_policy` to `populate_options()`.
Props ocean90.
Fixes #44076.
Built from https://develop.svn.wordpress.org/trunk@43267


git-svn-id: http://core.svn.wordpress.org/trunk@43096 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-05-14 17:00:22 +00:00
Felix Arntz 176a289050 Multisite: Introduce metadata for sites.
A new global multisite table `wp_blogmeta` is added to the database schema, and a set of `*_site_meta()` API functions are introduced.

The implementation fails gracefully when the new table is not yet available, which may happen especially shortly after the core update, before the network has been upgraded to the new database schema. The presence of the table is detected once and stored as a global setting on the main network.

Core does not yet use site metadata, but there are several use-cases to be implemented or explored in the near future, and it allows plugins to extend sites with arbitrary data, which will come in particularly handy with the upcoming REST API endpoint for sites.

Props spacedmonkey, johnjamesjacoby, jeremyfelt, flixos90.
Fixes #37923.

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


git-svn-id: http://core.svn.wordpress.org/trunk@42666 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-16 02:15:31 +00:00
Sergey Biryukov 0e802a627d General: Introduce `WP_Error::has_errors()` method and use it where appropriate.
Props robdxw, DrewAPicture, SergeyBiryukov.
Fixes #42742.
Built from https://develop.svn.wordpress.org/trunk@42761


git-svn-id: http://core.svn.wordpress.org/trunk@42591 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-02-27 02:31:31 +00:00
Gary Pendergast aaf99e6913 Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.


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


git-svn-id: http://core.svn.wordpress.org/trunk@42172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-30 23:11:00 +00:00
Gary Pendergast c90cfa3b50 General: Fix some precision alignment formatting warnings.
The WPCS `WordPress.WhiteSpace.PrecisionAlignment` rule throws warnings for a bunch of code that will likely cause issues for `wpcbf`. Fixing these manually beforehand gives us better auto-fixed results later.

See #41057.


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


git-svn-id: http://core.svn.wordpress.org/trunk@42057 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-26 23:57:55 +00:00
Dion Hulse 26f9c6b909 Transients: Clear expired transients from the database in a daily cron task.
Fixes #41699

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


git-svn-id: http://core.svn.wordpress.org/trunk@41797 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-21 13:22:49 +00:00
Felix Arntz 6ced176459 Multisite: Use `get_network()` in `populate_network()` to check whether a network with the given ID already exists.
When multisite is setup already, e.g. in a multi network environment, this change gives a performance benefit over the direct SQL query that was previously used. The SQL query remains in place for when setting up multisite initially as the network API is not available at that point.

Props spacedmonkey.
Fixes #41805.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41181 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-08 16:33:43 +00:00
John Blackbourn 28eda6f4bc General: Improve terminology used when referring to installations of WordPress and its extensions.
"Install" is not a noun, and while it might be acceptable to use the verb as a noun, it is not correct. Using the correct
noun, "installation", increases clarity, especially for non-native English speakers.

This change fixes the usage in user-facing text and in developer documentation.

Fixes #41620

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


git-svn-id: http://core.svn.wordpress.org/trunk@41129 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-08-22 11:52:48 +00:00
Felix Arntz 45b64ba2ff Multisite: Replace unnecessary `is_super_admin()` check when setting up the initial network.
When using `is_super_admin()` in a non-multisite environment, the function is supposed to check for administrator capabilities. The process of querying all users and filtering them with that function can be optimized by only querying users with the administrator role instead.

Fixes #40406. See #37616.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40313 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-04-10 22:00:43 +00:00
Sergey Biryukov 6e5d66c10e Docs: Move `install_network()` DocBlock after the `function_exists()` call.
Props keesiemeijer.
Fixes #39478.
Built from https://develop.svn.wordpress.org/trunk@39709


git-svn-id: http://core.svn.wordpress.org/trunk@39649 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-01-06 21:58:23 +00:00
Helen Hou-Sandí 2d07c3196e Only set `fresh_site` during an actual fresh install.
props westonruter.
fixes #38533.

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


git-svn-id: http://core.svn.wordpress.org/trunk@39018 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-11-01 20:16:31 +00:00
Weston Ruter 75535c596b Customize: Introduce starter content and site freshness state.
A theme can opt-in for tailored starter content to apply to the customizer when previewing the theme on a fresh install, when `fresh_site` is at its initial `1` value. Starter content is staged in the customizer and does not go live unless the changes are published. Initial starter content is added to Twenty Seventeen.

* The `fresh_site` flag is cleared when a published post or page is saved, when widgets are modified, or when the customizer state is saved.
* Starter content is registered via `starter-content` theme support, where the argument is an array containing `widgets`, `posts`, `nav_menus`, `options`, and `theme_mods`. Posts/pages in starter content are created with the `auto-draft` status, re-using the page/post stubs feature added to nav menus and the static front page controls.
* A `get_theme_starter_content` filter allows for plugins to extend a theme's starter content.
* Starter content in themes can/should re-use existing starter content items in core by using named placeholders.
* Import theme starter content into customized state when fresh site.
* Prevent original_title differences from causing refreshes if title is present.
* Ensure nav menu item url is set according to object when previewing.
* Make sure initial saved state is false if there are dirty settings without an existing changeset.
* Ensure dirty settings are cleaned upon changeset publishing.

Props helen, westonruter, ocean90.
Fixes #38114, #38533.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38934 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-28 02:57:35 +00:00
Jeremy Felt 1560fbcbc5 Multisite: Use `get_network()` and `get_current_network_id()` for current network data.
`get_network()` falls back to the current network when called without any arguments. Between this and `get_current_network_id()`, we can replace almost all instances of the global `$current_site` and all instances of `get_current_site()`.

This effectively deprecates `get_current_site()`, something that we'll do in a future ticket.

Props flixos90.
Fixes #37414.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38757 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-19 04:47:30 +00:00
Gary Pendergast 65fa220a08 Database: Increase the size of `wp_posts.post_password` to 255 characters.
Longer passwords and passphrases are much more common than when post passwords were introduced all those eons ago, so let's increase the length of the `post_password` field from 20 to 255 characters.

The password will continue to be stored in plaintext, as the ability for the post author to view the password is a commonly used feature.

Trivia: this was the last 3 digit Trac ticket to be closed.

Props skippy, nazgul, iandunn, adamsilverstein, pento.
Fixes #881.


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


git-svn-id: http://core.svn.wordpress.org/trunk@38533 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-12 02:28:30 +00:00
Peter Wilson 47d26cd9fb DOCS: Replace HTTP links with HTTPS.
Replaces unsecure links in documentation and translator comments with their secure versions.

Props johnpgreen, netweb

Fixes #36993

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


git-svn-id: http://core.svn.wordpress.org/trunk@37640 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-10 04:50:33 +00:00
Gary Pendergast 25d2123821 Database: Remove some duplicate code.
`schema.php` was manually defining the character set/collation query, instead of using `wpdb::get_charset_collate()`.

Props sudar.

Fixes #35756.


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


git-svn-id: http://core.svn.wordpress.org/trunk@37492 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-23 06:38:27 +00:00
Drew Jaynes c3055cc190 Docs: Standardize hook docs in wp-admin/* to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37456 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 18:01:30 +00:00
Dominik Schilling cf5df5a7ce Schema: Add an index to `wp_users.user_email`.
Improves lookup of an email address on large user tables.

See #9568.
Fixes #33376.
Built from https://develop.svn.wordpress.org/trunk@36654


git-svn-id: http://core.svn.wordpress.org/trunk@36621 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-23 23:21:26 +00:00
Eric Lewis 22467e840f Networks and sites: Replace "blog" usage with "site" in docs.
Multisite functions use the term "blog" to refer to what we now call a "site," e.g. `get_current_blog_id()`. These functions are here to stay because of our commitment to backwards compatibility. What we can do is set the documentation straight.

See #35417.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36383 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-28 03:35:27 +00:00
Pascal Birchler d63ae29fac After [36254], commit all the necessary files and not just the unit test.
Built from https://develop.svn.wordpress.org/trunk@36255


git-svn-id: http://core.svn.wordpress.org/trunk@36222 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-10 19:07:26 +00:00
John Blackbourn a4facedfee Docs: Various docblock corrections.
See #32246

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


git-svn-id: http://core.svn.wordpress.org/trunk@36217 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-10 01:26:25 +00:00
Scott Taylor 79a2915a9b Upgrade: New themes are not automatically installed on upgrade. This can still be explicitly asked for by defining `CORE_UPGRADE_SKIP_NEW_BUNDLED` as `false`.
In `populate_options()`, if the theme specified by `WP_DEFAULT_THEME` doesn't exist, fall back to the latest core default theme. If we can't find a core default theme, `WP_DEFAULT_THEME` is the best we can do. 

Props nacin, jeremyfelt, dd32.
See #34306.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35702 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-25 21:45:25 +00:00
Aaron Jorbin e8d8e79371 Revert [34291] bringing back my-hacks
Keeping myhacks support is a small price to pay for not breaking people's sites.  Even if it is very very very few sites, breaking sites isn't something that should be encouraged. Even with 10 years of deprecation notices.

https://core.trac.wordpress.org/ticket/33741#comment:18 outlines all the ways that the hack_file and my-hacks options can be setup and thus all the ways that the removal of those options could break sites.

Fixes #33741.



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


git-svn-id: http://core.svn.wordpress.org/trunk@35652 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-18 20:49:26 +00:00
Dominik Schilling 40b303069a Schema: Increase length of `user_pass` and `user_activation_key` fields to 255.
Props grvrulz and Miglosh for testing.
Fixes #33904.
Built from https://develop.svn.wordpress.org/trunk@35638


git-svn-id: http://core.svn.wordpress.org/trunk@35602 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-15 14:19:28 +00:00
Sergey Biryukov db8c89cccb Remove non-translatable HTML code from the first post content in `populate_network()` and `wp_install_defaults()`.
Add translator comment.

Props ramiy.
Fixes #34619.
Built from https://develop.svn.wordpress.org/trunk@35614


git-svn-id: http://core.svn.wordpress.org/trunk@35578 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-11 20:55:26 +00:00
Jeremy Felt 23c1050fb9 MS: Allow "Network Admin Email" to be a non-user during network setup.
The network admin email setting for a network is often used as a catch-all or notification email separate from the actual user ID set as the owner of the new network. If a non-user email address is set during network installation, we can defer to the current user as the actual network admin and apply the entered email as the address to which general notifications are sent and emails are sent from.

In the future, we'll want to update the messaging around "Network Admin Email" to reflect its reality. See #34293.

Props jjeaton.
Fixes #34065.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35539 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-08 03:16:26 +00:00
Scott Taylor 9135920061 Roles: map `add_users` cap to `promote_users` and remove it.
"Never used, will be removed." - The Ghost of 3.5 Nacin

Props Craig Ralston, renoirb.
Fixes #16719.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35471 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-04 17:54:25 +00:00
Scott Taylor d8eacd51d8 Media: add a new image size, `medium_large`. Bumps db version to add new options.
Adds unit tests.

Props DH-Shredder, joemcgill, azaozz.
Fixes #34196.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35443 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-31 20:50:25 +00:00
Scott Taylor e31c837d70 Options: remove old 'gzipcompression' and 'advanced_edit' options.
Props chriscct7, solarissmoke.
Fixes #12996.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35326 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-22 19:49:24 +00:00
Boone Gorges 3eab09a694 Don't force comment pagination.
[34561] instituted the policy of forcing pagination for comments. This strategy
was intended to avert problems when 'page_comments' is set to 0 - as it is by
default - and the number of comments on a given post rises into the hundreds or
thousands. By forcing pagination in all cases, we ensured that WordPress would
not time out by processing unwieldy numbers of comments on a given pageload.

The strategy proves problematic, however, because comment permalinks are
generated using the page of the comment. Forcing pagination for posts that
were not previously paginated would change the URL of all comments that do not
appear on the default comment page.

This changeset reintroduces the 'page_comments' setting and its corresponding
checkbox on Settings > Discussion. A number of tests, which were written after
[34561], are modified to work now that 'page_comments' will, once again, be
disabled by default.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35297 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-21 16:26:42 +00:00
Scott Taylor e6015a31ab Site Icon: make the default value for the `site_icon` option `0` in `schema.php`.
Props swissspidy, sebastian.pisula.
Fixes #34339.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35278 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-21 03:28:25 +00:00
Drew Jaynes 217b661703 Docs: Add missing descriptions for the `$wpdb` global in DocBlocks all the places.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35136 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-14 23:44:25 +00:00
Dominik Schilling f8c467e07a Term Meta: Prevent a "Multiple primary key defined" error during database upgrades.
You must have two spaces between the words `PRIMARY KEY` and the definition of your primary key. Yes, seriously.

See [34529].
Fixes #34210.
Built from https://develop.svn.wordpress.org/trunk@34936


git-svn-id: http://core.svn.wordpress.org/trunk@34901 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 11:09:26 +00:00
Jeremy Felt 9926983b66 Revert [34778], continue using `_site_option()` for the current network.
The `_network_option()` parameter order will be changing to accept `$network_id` first. The `_site_option()` functions will remain in use throughout core as our way of retrieving a network option for the current network.

See #28290.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34877 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-07 17:11:25 +00:00
Jeremy Felt 54512d64cb MS: Use `*_network_option()` functions throughout core.
Replaces all uses of `*_site_option()` with the corresponding "network" function.

This excludes one usage in `wp-admin/admin-footer.php` that needs more investigation.

Props spacedmonkey.
See #28290.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34743 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 19:08:26 +00:00
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
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
Sergey Biryukov 844586e889 Add missing translator comments after [34293].
See #31851.
Built from https://develop.svn.wordpress.org/trunk@34298


git-svn-id: http://core.svn.wordpress.org/trunk@34262 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-18 18:39:23 +00:00
Scott Taylor 318cd61abf Don't use `<code>` in translation strings in `wp-admin/includes/schema.php`.
Props ramiy.
Fixes #31851.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34257 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-18 18:21:25 +00:00
Aaron Jorbin 10d03c1ab3 Remove support for my-hacks.php
For the last 10 years, my-hacks has been deprecated and has been throwing a deprecation notice. For the last six years, you haven't been able to enable my-hacks.php in the admin UI. That should be enough time to give developers notice. Plugins and themes seem like they might have staying power.

Fixes #33741
Props bobbingwide


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


git-svn-id: http://core.svn.wordpress.org/trunk@34255 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-18 17:06:25 +00:00
Gary Pendergast 0d85038ce6 Schema: Increase the length of `wp_options.option_name`.
It's pretty easy to run over the `option_name` length, which causes undefined behaviour when inserting and retrieving options. Increasing the length from `VARCHAR(64)` to `VARCHAR(191)` significantly reduces the risk of this occurring.

Because `option_name` has a `UNIQUE` index, we can only increase it to 191 characters, rather than 255. The index can only use a prefix of 191 characters, so will incorrectly restrict long different strings that have the same prefix, if we make the column longer.

Props scribu, OriginalEXE, khromov, MikeHansenMe, netweb, pento.

Fixes #13310.


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


git-svn-id: http://core.svn.wordpress.org/trunk@33999 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-11 01:26:24 +00:00