diff --git a/wp-admin/admin-ajax.php b/wp-admin/admin-ajax.php index 392942089..07a247504 100644 --- a/wp-admin/admin-ajax.php +++ b/wp-admin/admin-ajax.php @@ -575,6 +575,9 @@ case 'add-tag' : // From Manage->Tags $x->send(); } + if ( isset($_POST['screen']) ) + set_current_screen($_POST['screen']); + $level = 0; $tag_full_name = false; $tag_full_name = $tag->name; diff --git a/wp-admin/edit-tags.php b/wp-admin/edit-tags.php index a4b48bc80..2624e4b28 100644 --- a/wp-admin/edit-tags.php +++ b/wp-admin/edit-tags.php @@ -383,6 +383,7 @@ if ( current_user_can($tax->cap->edit_terms) ) {

labels->add_new_item; ?>

+ diff --git a/wp-admin/includes/template.php b/wp-admin/includes/template.php index 221249330..687aa3777 100644 --- a/wp-admin/includes/template.php +++ b/wp-admin/includes/template.php @@ -3909,8 +3909,15 @@ function set_current_screen( $id = '' ) { $current_screen = str_replace('-add', '', $current_screen); $current_screen = array('id' => $current_screen, 'base' => $current_screen); } else { - if ( false !== strpos($id, '-') ) + $id = sanitize_key($id); + if ( false !== strpos($id, '-') ) { list( $id, $typenow ) = explode('-', $id, 2); + if ( is_taxonomy($typenow) ) { + $id = 'edit-tags'; + $taxnow = $typenow; + $typenow = ''; + } + } $current_screen = array('id' => $id, 'base' => $id); }