diff --git a/wp-includes/taxonomy.php b/wp-includes/taxonomy.php index 44d9dfb476..676f059cf0 100644 --- a/wp-includes/taxonomy.php +++ b/wp-includes/taxonomy.php @@ -352,17 +352,14 @@ function register_taxonomy( $taxonomy, $object_type, $args = array() ) { } if ( false !== $args['rewrite'] && ( is_admin() || '' != get_option( 'permalink_structure' ) ) ) { - if ( ! is_array( $args['rewrite'] ) ) - $args['rewrite'] = array(); - - if ( empty( $args['rewrite']['slug'] ) ) - $args['rewrite']['slug'] = sanitize_title_with_dashes( $taxonomy ); - - $args['rewrite'] = array_merge( array( + $args['rewrite'] = wp_parse_args( $args['rewrite'], array( 'with_front' => true, 'hierarchical' => false, 'ep_mask' => EP_NONE, - ), $args['rewrite'] ); + ) ); + + if ( empty( $args['rewrite']['slug'] ) ) + $args['rewrite']['slug'] = sanitize_title_with_dashes( $taxonomy ); if ( $args['hierarchical'] && $args['rewrite']['hierarchical'] ) $tag = '(.+?)';