`wp_update_term()` should return a true integer for 'term_taxonomy_id'.

Props ipm-frommen.
Fixes #32876.

git-svn-id: https://develop.svn.wordpress.org/trunk@33652 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Boone Gorges 2015-08-19 19:32:04 +00:00
parent 96437b6d57
commit 9bb010f2a1
2 changed files with 17 additions and 1 deletions

View File

@ -3539,7 +3539,7 @@ function wp_update_term( $term_id, $taxonomy, $args = array() ) {
return new WP_Error('duplicate_term_slug', sprintf(__('The slug “%s” is already in use by another term'), $slug));
}
$tt_id = $wpdb->get_var( $wpdb->prepare( "SELECT tt.term_taxonomy_id FROM $wpdb->term_taxonomy AS tt INNER JOIN $wpdb->terms AS t ON tt.term_id = t.term_id WHERE tt.taxonomy = %s AND t.term_id = %d", $taxonomy, $term_id) );
$tt_id = (int) $wpdb->get_var( $wpdb->prepare( "SELECT tt.term_taxonomy_id FROM $wpdb->term_taxonomy AS tt INNER JOIN $wpdb->terms AS t ON tt.term_id = t.term_id WHERE tt.taxonomy = %s AND t.term_id = %d", $taxonomy, $term_id) );
// Check whether this is a shared term that needs splitting.
$_term_id = _split_shared_term( $term_id, $tt_id );

View File

@ -472,6 +472,22 @@ class Tests_Term_WpUpdateTerm extends WP_UnitTestCase {
$this->assertEquals( $term_by_id, $term_by_ttid );
}
/**
* @ticket 32876
*/
public function test_wp_update_term_should_return_int_values_for_term_id_and_term_taxonomy_id() {
register_taxonomy( 'wptests_tax', 'post' );
$t = $this->factory->term->create( array(
'taxonomy' => 'wptests_tax',
) );
$found = wp_update_term( $t, 'wptests_tax', array(
'slug' => 'foo',
) );
$this->assertInternalType( 'int', $found['term_id'] );
$this->assertInternalType( 'int', $found['term_taxonomy_id'] );
}
public function test_wp_update_term_should_clean_object_term_cache() {
register_taxonomy( 'wptests_tax_for_post', 'post' );
register_taxonomy( 'wptests_tax_for_page', 'page' );