mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-07-01 15:50:09 +00:00
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. git-svn-id: https://develop.svn.wordpress.org/trunk@34529 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -57,7 +57,16 @@ function wp_get_db_schema( $scope = 'all', $blog_id = null ) {
|
||||
$max_index_length = 191;
|
||||
|
||||
// Blog specific tables.
|
||||
$blog_tables = "CREATE TABLE $wpdb->terms (
|
||||
$blog_tables = "CREATE TABLE $wpdb->termmeta (
|
||||
meta_id bigint(20) unsigned NOT NULL auto_increment,
|
||||
term_id bigint(20) unsigned NOT NULL default '0',
|
||||
meta_key varchar(255) default NULL,
|
||||
meta_value longtext,
|
||||
PRIMARY KEY (meta_id),
|
||||
KEY term_id (term_id),
|
||||
KEY meta_key (meta_key($max_index_length))
|
||||
) $charset_collate;
|
||||
CREATE TABLE $wpdb->terms (
|
||||
term_id bigint(20) unsigned NOT NULL auto_increment,
|
||||
name varchar(200) NOT NULL default '',
|
||||
slug varchar(200) NOT NULL default '',
|
||||
|
||||
Reference in New Issue
Block a user