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
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
Scott Taylor
ef87172270
`foreach` is a statement, not a function.
...
See #33491 .
Built from https://develop.svn.wordpress.org/trunk@33734
git-svn-id: http://core.svn.wordpress.org/trunk@33702 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-25 20:28:22 +00:00
Dion Hulse
4f8ce1c232
Term Splitting: Switch to a faster cron unschedule process to benefit sites with thousands of affected jobs. Fix the cron hook name in the failsafe rescheduler.
...
Props Otto42, dd32, peterwilsoncc
See #33423
Built from https://develop.svn.wordpress.org/trunk@33727
git-svn-id: http://core.svn.wordpress.org/trunk@33695 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-25 04:32:21 +00:00
Scott Taylor
e9305edbce
When createing "Sample Page" on install, comments should be `closed`.
...
Props macmanx.
Fixes #33490 .
Built from https://develop.svn.wordpress.org/trunk@33693
git-svn-id: http://core.svn.wordpress.org/trunk@33660 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-21 17:42:25 +00:00
Dion Hulse
25c5d372d3
Term Splitting: Fix a reversal of parameters to wp_schedule_single_event() introduced in [33621].
...
The existing invalid cron entries will not be purged automatically (as the 'timestamp' is never matched) so we do this ourselves.
Props mechter for noticing!
See #30261 .
Fixes #33423 for trunk.
Built from https://develop.svn.wordpress.org/trunk@33646
git-svn-id: http://core.svn.wordpress.org/trunk@33613 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-19 11:31:26 +00:00
Dominik Schilling
96a6f0ac1f
Pinking shears.
...
Built from https://develop.svn.wordpress.org/trunk@33627
git-svn-id: http://core.svn.wordpress.org/trunk@33594 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-17 21:39:25 +00:00
Boone Gorges
dba7c50d29
Don't run term-splitting routine on new installations.
...
Props pento.
Fixes #30261 .
Built from https://develop.svn.wordpress.org/trunk@33621
git-svn-id: http://core.svn.wordpress.org/trunk@33588 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-17 14:29:25 +00:00
Boone Gorges
151d27369d
Term splitting routine should be run in a separate process, triggered via wp-cron.
...
[32814] introduced a routine to split shared terms, which was run during the
regular WP database upgrade. This turned out to be problematic because plugins
are not loaded during the db upgrade (due to `WP_INSTALLING`), with the result
that plugins were not able to hook into the 'split_shared_term' action during
the bulk split. We work around this limitation by moving the term splitting
routine to a separate process, triggered by a wp-cron hook.
Props boonebgorges, Chouby, peterwilsoncc, pento, dd32.
Fixes #30261 .
Built from https://develop.svn.wordpress.org/trunk@33615
git-svn-id: http://core.svn.wordpress.org/trunk@33582 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-14 03:59:26 +00:00
Andrew Ozz
3bfd096440
Fix paste typos in upgrade.php.
...
Props tellyworth. Fixes #33206 .
Built from https://develop.svn.wordpress.org/trunk@33609
git-svn-id: http://core.svn.wordpress.org/trunk@33576 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-11 23:44:24 +00:00
Dion Hulse
e2b10dad49
Upgrade: Skip the sitecategories table when it doesn't exist (Global Terms is disabled).
...
Props nofearinc, obenland, SergeyBiryukov, and pento.
Fixes #33206
Built from https://develop.svn.wordpress.org/trunk@33597
git-svn-id: http://core.svn.wordpress.org/trunk@33564 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-09 02:22:26 +00:00
Drew Jaynes
e4ecc7e5c4
Fix summaries and add missing `@global` descriptions to the `upgrade_430_fix_comments()` and `split_all_shared_terms()` functions added in 4.3.
...
See [33020], [32643]. See #32891 .
Built from https://develop.svn.wordpress.org/trunk@33212
git-svn-id: http://core.svn.wordpress.org/trunk@33184 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-13 19:56:24 +00:00
Dion Hulse
36de491d68
Don't upgrade global tables to utf8mb4 when `wp_should_upgrade_global_tables()` says not to.
...
Additionally fixes an incorrect conditional in [33057] which would result in the usermeta index being altered twice on Multisite updates.
See #32154
Built from https://develop.svn.wordpress.org/trunk@33058
git-svn-id: http://core.svn.wordpress.org/trunk@33029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-03 05:44:24 +00:00
Dion Hulse
d651de0dac
Introduce `wp_should_upgrade_global_tables()` to determine if global tables should be upgraded automatically. Use it throughout the existing upgrade routines.
...
Props johnjamesjacoby for initial patch
Fixes #32154 for trunk
Built from https://develop.svn.wordpress.org/trunk@33057
git-svn-id: http://core.svn.wordpress.org/trunk@33028 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-03 04:34:24 +00:00
Dion Hulse
cbacb92dae
Enable utf8mb4 for MySQL extension users. Previously utf8mb4 was limited to MySQLi users only unintentionally.
...
This change does the following things
* Allows utf8mb4 for the MySQL extension
* Re-runs the utf8->utf8mb4 conversion for single sites, this will do nothing for tables already converted
* Re-runs the utf8->utf8mb4 conversion for global tables in multisite when the environment supports utf8mb4
* Removes upgrade_420() calling as upgrade_430() will perform those changes now instead
The index shortenings should have still taken place on utf8 sites previously, so there's no need to run those again.
Props kovshenin, pento, dd32
Fixes #32127 for trunk.
Built from https://develop.svn.wordpress.org/trunk@33055
git-svn-id: http://core.svn.wordpress.org/trunk@33026 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-03 03:26:24 +00:00
Dion Hulse
ebb6aa1d4a
Split `upgrade_430()` into two so that `split_all_shared_terms()` runs when `upgrade_430_fix_comments()` bails early.
...
See [32814], #30261 , [32364], #32165
Built from https://develop.svn.wordpress.org/trunk@33020
git-svn-id: http://core.svn.wordpress.org/trunk@32991 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-01 07:35:24 +00:00
Dion Hulse
a21f890abb
Remove a redundant index drop, it'll be dropped and re-created a few lines further down.
...
Fixes a warning during updating from 4.0 or earlier.
Fixes #31388 for trunk
Built from https://develop.svn.wordpress.org/trunk@32852
git-svn-id: http://core.svn.wordpress.org/trunk@32823 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-19 03:18:26 +00:00
Boone Gorges
f62bf61b2c
Bail out of 4.3 term splitting routine when no shared terms are found.
...
Props dd32.
See #30261 .
Built from https://develop.svn.wordpress.org/trunk@32819
git-svn-id: http://core.svn.wordpress.org/trunk@32790 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-17 11:40:24 +00:00
Boone Gorges
290044ef15
Split all shared taxonomy terms on upgrade to 4.3.
...
Dear Shared Terms, Welcome to Splitsville. Population: You.
See #30261 .
Built from https://develop.svn.wordpress.org/trunk@32814
git-svn-id: http://core.svn.wordpress.org/trunk@32785 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-17 01:53:26 +00:00
Andrew Nacin
e7f618d86e
Tweak the first post/page content to get with the times.
...
props chriscct7.
fixes #22474 .
Built from https://develop.svn.wordpress.org/trunk@32768
git-svn-id: http://core.svn.wordpress.org/trunk@32739 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-14 18:56:50 +00:00
Scott Taylor
c6a4512b1b
Add missing doc blocks to `wp-admin/includes/*`.
...
Fix some egregious uses of tabbing.
Some functions can simply return `apply_filters(...)` instead of setting a variable that is immediately returned.
See #32444 .
Built from https://develop.svn.wordpress.org/trunk@32654
git-svn-id: http://core.svn.wordpress.org/trunk@32624 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 20:17:26 +00:00
Scott Taylor
282e28ad81
Add `@global` annotations to (the rest of the?) `wp-admin/*` files.
...
Does not include list table file changes.
See #32444 .
Built from https://develop.svn.wordpress.org/trunk@32643
git-svn-id: http://core.svn.wordpress.org/trunk@32613 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 02:06:31 +00:00
Gary Pendergast
02621f2a14
Upgrades: If a table has already been converted to `utf8mb4`, there's no need to try and convert it again.
...
Props gabrielperezs for the initial patch.
See #32310 .
Built from https://develop.svn.wordpress.org/trunk@32456
git-svn-id: http://core.svn.wordpress.org/trunk@32426 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-08 12:22:25 +00:00
Michael Adams
a3807c1d34
Upgrade: Since MySQL may auto-expand column widths when changing a column's character set, we must do our length-based comment checks prior to the character set changes.
...
Props jorbin, et alii.
See #32165 .
Built from https://develop.svn.wordpress.org/trunk@32440
git-svn-id: http://core.svn.wordpress.org/trunk@32410 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-07 01:11:29 +00:00
Michael Adams
26c3c6d9cb
Upgrade: `$wpdb->get_col_length()` sanity check: bail on unexpected return value.
...
See #32165 .
Built from https://develop.svn.wordpress.org/trunk@32429
git-svn-id: http://core.svn.wordpress.org/trunk@32399 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-06 23:11:26 +00:00
Michael Adams
0640526e72
Upgrade: Ensure unintelligible DB schemas don't result in content loss.
...
See #32165 .
Built from https://develop.svn.wordpress.org/trunk@32417
git-svn-id: http://core.svn.wordpress.org/trunk@32387 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-06 21:46:26 +00:00
Gary Pendergast
4e615fb9ff
Fix an incorrect version number check in [32378].
...
See #32099 .
Built from https://develop.svn.wordpress.org/trunk@32379
git-svn-id: http://core.svn.wordpress.org/trunk@32349 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-06 07:41:24 +00:00
Gary Pendergast
3a6e79c409
Upgrades: When converting to `utf8mb4`, we were trying to change the wrong index on `wp_signups`, causing the conversion to later fail.
...
Props kovshenin, pento.
See #32099 .
Built from https://develop.svn.wordpress.org/trunk@32378
git-svn-id: http://core.svn.wordpress.org/trunk@32348 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-06 07:34:24 +00:00
Gary Pendergast
364886a5be
WPDB: When checking that a string can be sent to MySQL, we shouldn't use `mb_convert_encoding()`, as it behaves differently to MySQL's character encoding conversion.
...
Props mdawaffe, pento, nbachiyski, jorbin, johnjamesjacoby, jeremyfelt.
See #32165 .
Built from https://develop.svn.wordpress.org/trunk@32364
git-svn-id: http://core.svn.wordpress.org/trunk@32335 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-06 03:00:25 +00:00
Gary Pendergast
44b56d9393
When deleting suspicious comments, do so permanently.
...
Built from https://develop.svn.wordpress.org/trunk@32310
git-svn-id: http://core.svn.wordpress.org/trunk@32281 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-27 16:11:26 +00:00
Gary Pendergast
b89fc65951
[32308] was for 4.3, not 4.2.1.
...
Built from https://develop.svn.wordpress.org/trunk@32309
git-svn-id: http://core.svn.wordpress.org/trunk@32280 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-27 16:08:27 +00:00
Gary Pendergast
51402dc520
When upgrading to 4.2.1, delete suspicious comments.
...
Built from https://develop.svn.wordpress.org/trunk@32308
git-svn-id: http://core.svn.wordpress.org/trunk@32279 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-27 16:04:25 +00:00
Gary Pendergast
0179958273
When `dbDelta()` is checking whether an index is defined in a `CREATE TABLE` statement, don't worry if MySQL has a subpart defined on an index, but the `CREATE TABLE` doesn't.
...
Fixes #31869 .
Built from https://develop.svn.wordpress.org/trunk@32108
git-svn-id: http://core.svn.wordpress.org/trunk@32087 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-11 10:40:31 +00:00
Sergey Biryukov
443760252b
`wp_install_maybe_enable_pretty_permalinks()` should have a consistent `@return` value.
...
props DrewAPicture.
fixes #6481 . see #31888 .
Built from https://develop.svn.wordpress.org/trunk@32027
git-svn-id: http://core.svn.wordpress.org/trunk@32006 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-05 14:49:53 +00:00
Gary Pendergast
d7c6ac95bc
Upgrades: wp_usermeta is a global table in multisite, so it should only be upgraded by the single site routines when we're not in a multisite install.
...
See #21212
Built from https://develop.svn.wordpress.org/trunk@31358
git-svn-id: http://core.svn.wordpress.org/trunk@31339 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-06 13:41:22 +00:00
Gary Pendergast
7444799a82
Upgrades: When upgrading a table to utf8mb4, we should run the `ALTER TABLE` query, even if it doesn't have any text columns. This will update the table's default character set, so that any text columns added in the future will have the expected character set.
...
See #21212
Built from https://develop.svn.wordpress.org/trunk@31354
git-svn-id: http://core.svn.wordpress.org/trunk@31335 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-06 05:59:23 +00:00
Gary Pendergast
555a9f0912
Upgrades: When deciding if we can upgrade a table to utf8mb4, make sure we're checking the character set, not the collation.
...
Bump the DB version as well, as the update in [31349] wouldn't have triggered for anyone who tried it.
See #21212
Built from https://develop.svn.wordpress.org/trunk@31351
git-svn-id: http://core.svn.wordpress.org/trunk@31332 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-06 05:26:21 +00:00
Gary Pendergast
b2cf823105
WPDB: If a site is using the `utf8` charset, and their version of MySQL supports `utf8mb4`, auto-upgrade them to `utf8mb4`.
...
This patch also resizes some indexes, to allow for the 767 byte index size limit in standard MySQL installs.
See #21212
Built from https://develop.svn.wordpress.org/trunk@31349
git-svn-id: http://core.svn.wordpress.org/trunk@31330 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-06 04:51:22 +00:00
Drew Jaynes
d95586e943
Add missing summaries and descriptions for various functions in wp-admin/includes/upgrade.php.
...
Also generally improve existing parameter, return, and other documentation in various function DocBlocks.
Props morganestes.
Fixes #30825 .
Built from https://develop.svn.wordpress.org/trunk@31246
git-svn-id: http://core.svn.wordpress.org/trunk@31227 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-19 09:15:22 +00:00
Sergey Biryukov
768624cb99
Use the site's local time to create the first post during installation.
...
props extendwings.
fixes #29296 .
Built from https://develop.svn.wordpress.org/trunk@31225
git-svn-id: http://core.svn.wordpress.org/trunk@31206 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-17 10:07:23 +00:00
Scott Taylor
b8dd1f9c69
By initializing this array before a loop, Scrutinizer reports 0 (zero) "Coding Style" errors.
...
There are plenty of other kinds of errors, but this label will be cleared out.
See #30799 .
Built from https://develop.svn.wordpress.org/trunk@31213
git-svn-id: http://core.svn.wordpress.org/trunk@31194 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-16 19:13:23 +00:00
Dion Hulse
af92025162
More concise documentation for wp_install_maybe_enable_pretty_permalinks()
...
See #6481 . Props ericlewis.
Built from https://develop.svn.wordpress.org/trunk@31160
git-svn-id: http://core.svn.wordpress.org/trunk@31141 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-12 04:33:23 +00:00
Dion Hulse
a114d0929b
The new wp_install_maybe_enable_pretty_permalinks() function doesn't need to be pluggable.
...
See #6481 . Props nacin, valendesigns
Built from https://develop.svn.wordpress.org/trunk@31159
git-svn-id: http://core.svn.wordpress.org/trunk@31140 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-12 04:31:23 +00:00
Scott Taylor
60b0cd7943
The keyword `elseif` should be used instead of `else if` so that all control keywords look like single words.
...
This was a mess, is now standardized across the codebase, except for a few 3rd-party libs.
See #30799 .
Built from https://develop.svn.wordpress.org/trunk@31090
git-svn-id: http://core.svn.wordpress.org/trunk@31071 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 07:05:25 +00:00
Dion Hulse
a4ed093250
Enable Pretty Permalinks for new sites during install if the server supports it.
...
See #6481 , Props valendesigns, DrewAPicture & ericlewis
Built from https://develop.svn.wordpress.org/trunk@31089
git-svn-id: http://core.svn.wordpress.org/trunk@31070 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 06:47:23 +00:00
Scott Taylor
5eb5afac34
For clarity, initialize some arrays that previously were only assigned via short circuit in loops.
...
See #30799 .
Built from https://develop.svn.wordpress.org/trunk@30982
git-svn-id: http://core.svn.wordpress.org/trunk@30968 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-20 22:47:22 +00:00
Andrew Nacin
1cf7a49ffd
Adjust [29806] and revert [29807] to restore placeholder and email copy order.
...
Avoids unnecessarily changing a (large, carefully formatted) translated string from 4.0.
fixes #21089 .
Built from https://develop.svn.wordpress.org/trunk@30742
git-svn-id: http://core.svn.wordpress.org/trunk@30732 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-05 01:15:26 +00:00
Scott Taylor
2c32752abd
Improve various `@param` docs for `src/wp-admin/*`.
...
See #30224 .
Built from https://develop.svn.wordpress.org/trunk@30680
git-svn-id: http://core.svn.wordpress.org/trunk@30670 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-01 01:00:22 +00:00
Scott Taylor
7d7a8aa0eb
Correct all `@return unknown` instances.
...
See #30224 .
Built from https://develop.svn.wordpress.org/trunk@30202
git-svn-id: http://core.svn.wordpress.org/trunk@30202 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-03 06:17:22 +00:00
Scott Taylor
5a3256c00b
Fill in the `@param` types for the args for `make_site_theme_from_default()`.
...
See #30224 .
Built from https://develop.svn.wordpress.org/trunk@30195
git-svn-id: http://core.svn.wordpress.org/trunk@30195 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-03 05:43:21 +00:00