mirror of
https://github.com/WordPress/WordPress.git
synced 2024-11-15 23:25:50 +01:00
Check both slug and name when determining if is_term(). fixes #6593 for trunk
git-svn-id: http://svn.automattic.com/wordpress/trunk@8433 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
07b7e7b7a4
commit
e8cba9f0cb
@ -19,7 +19,8 @@ $wp_queries="CREATE TABLE $wpdb->terms (
|
|||||||
slug varchar(200) NOT NULL default '',
|
slug varchar(200) NOT NULL default '',
|
||||||
term_group bigint(10) NOT NULL default 0,
|
term_group bigint(10) NOT NULL default 0,
|
||||||
PRIMARY KEY (term_id),
|
PRIMARY KEY (term_id),
|
||||||
UNIQUE KEY slug (slug)
|
UNIQUE KEY slug (slug),
|
||||||
|
KEY name (name)
|
||||||
) $charset_collate;
|
) $charset_collate;
|
||||||
CREATE TABLE $wpdb->term_taxonomy (
|
CREATE TABLE $wpdb->term_taxonomy (
|
||||||
term_taxonomy_id bigint(20) NOT NULL auto_increment,
|
term_taxonomy_id bigint(20) NOT NULL auto_increment,
|
||||||
|
@ -761,20 +761,36 @@ function &get_terms($taxonomies, $args = '') {
|
|||||||
function is_term($term, $taxonomy = '') {
|
function is_term($term, $taxonomy = '') {
|
||||||
global $wpdb;
|
global $wpdb;
|
||||||
|
|
||||||
|
$select = "SELECT term_id FROM $wpdb->terms as t WHERE ";
|
||||||
|
$tax_select = "SELECT tt.term_id, tt.term_taxonomy_id FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy as tt ON tt.term_id = t.term_id WHERE ";
|
||||||
|
|
||||||
if ( is_int($term) ) {
|
if ( is_int($term) ) {
|
||||||
if ( 0 == $term )
|
if ( 0 == $term )
|
||||||
return 0;
|
return 0;
|
||||||
$where = 't.term_id = %d';
|
$where = 't.term_id = %d';
|
||||||
} else {
|
if ( !empty($taxonomy) )
|
||||||
if ( '' === $term = sanitize_title($term) )
|
return $wpdb->get_row( $wpdb->prepare( $tax_select . $where . " AND tt.taxonomy = %s", $term, $taxonomy ), ARRAY_A );
|
||||||
return 0;
|
else
|
||||||
$where = 't.slug = %s';
|
return $wpdb->get_var( $wpdb->prepare( $select . $where, $term ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !empty($taxonomy) )
|
if ( '' === $slug = sanitize_title($term) )
|
||||||
return $wpdb->get_row( $wpdb->prepare("SELECT tt.term_id, tt.term_taxonomy_id FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy as tt ON tt.term_id = t.term_id WHERE $where AND tt.taxonomy = %s", $term, $taxonomy), ARRAY_A);
|
return 0;
|
||||||
|
|
||||||
return $wpdb->get_var( $wpdb->prepare("SELECT term_id FROM $wpdb->terms as t WHERE $where", $term) );
|
$where = 't.slug = %s';
|
||||||
|
$else_where = 't.name = %s';
|
||||||
|
|
||||||
|
if ( !empty($taxonomy) ) {
|
||||||
|
if ( $result = $wpdb->get_row( $wpdb->prepare("SELECT tt.term_id, tt.term_taxonomy_id FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy as tt ON tt.term_id = t.term_id WHERE $where AND tt.taxonomy = %s", $slug, $taxonomy), ARRAY_A) )
|
||||||
|
return $result;
|
||||||
|
|
||||||
|
return $wpdb->get_row( $wpdb->prepare("SELECT tt.term_id, tt.term_taxonomy_id FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy as tt ON tt.term_id = t.term_id WHERE $else_where AND tt.taxonomy = %s", $term, $taxonomy), ARRAY_A);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( $result = $wpdb->get_var( $wpdb->prepare("SELECT term_id FROM $wpdb->terms as t WHERE $where", $slug) ) )
|
||||||
|
return $result;
|
||||||
|
|
||||||
|
return $wpdb->get_var( $wpdb->prepare("SELECT term_id FROM $wpdb->terms as t WHERE $else_where", $term) );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -15,6 +15,6 @@ $wp_version = '2.7-bleeding';
|
|||||||
*
|
*
|
||||||
* @global int $wp_db_version
|
* @global int $wp_db_version
|
||||||
*/
|
*/
|
||||||
$wp_db_version = 8202;
|
$wp_db_version = 8370;
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
Loading…
Reference in New Issue
Block a user