Avoid a race condition when multiple windows are open so that orphaned terms cannot be created by accident.

Adds a unit test.

Props dlh.
Fixes #19205.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28980 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Scott Taylor 2014-07-16 21:52:15 +00:00
parent 1637f1617f
commit cf3deb2ecb
1 changed files with 5 additions and 1 deletions

View File

@ -2419,6 +2419,10 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
}
$defaults = array( 'alias_of' => '', 'description' => '', 'parent' => 0, 'slug' => '');
$args = wp_parse_args( $args, $defaults );
if ( $args['parent'] > 0 && ! term_exists( (int) $args['parent'] ) ) {
return new WP_Error( 'missing_parent', __( 'The selected parent term no longer exists' ) );
}
$args['name'] = $term;
$args['taxonomy'] = $taxonomy;
$args = sanitize_term($args, $taxonomy, 'db');