X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/449d082fcc4873c1f7d363a0d9f7409be7f6e77d..4f4e083f6f77639c41e2b1ddb200de8e34301cee:/wp-admin/edit-tags.php diff --git a/wp-admin/edit-tags.php b/wp-admin/edit-tags.php index 41467ecb..9f083b98 100644 --- a/wp-admin/edit-tags.php +++ b/wp-admin/edit-tags.php @@ -11,7 +11,16 @@ require_once('admin.php'); $title = __('Tags'); -wp_reset_vars( array('action', 'tag') ); +wp_reset_vars( array('action', 'tag', 'taxonomy') ); + +if ( empty($taxonomy) ) + $taxonomy = 'post_tag'; + +if ( !is_taxonomy($taxonomy) ) + wp_die(__('Invalid taxonomy')); + +$parent_file = 'edit.php'; +$submenu_file = "edit-tags.php?taxonomy=$taxonomy"; if ( isset( $_GET['action'] ) && isset($_GET['delete_tags']) && ( 'delete' == $_GET['action'] || 'delete' == $_GET['action2'] ) ) $action = 'bulk-delete'; @@ -25,7 +34,7 @@ case 'addtag': if ( !current_user_can('manage_categories') ) wp_die(__('Cheatin’ uh?')); - $ret = wp_insert_term($_POST['name'], 'post_tag', $_POST); + $ret = wp_insert_term($_POST['name'], $taxonomy, $_POST); if ( $ret && !is_wp_error( $ret ) ) { wp_redirect('edit-tags.php?message=1#addtag'); } else { @@ -41,9 +50,16 @@ case 'delete': if ( !current_user_can('manage_categories') ) wp_die(__('Cheatin’ uh?')); - wp_delete_term( $tag_ID, 'post_tag'); + wp_delete_term( $tag_ID, $taxonomy); + + $location = 'edit-tags.php'; + if ( $referer = wp_get_referer() ) { + if ( false !== strpos($referer, 'edit-tags.php') ) + $location = $referer; + } - wp_redirect('edit-tags.php?message=2'); + $location = add_query_arg('message', 2, $location); + wp_redirect($location); exit; break; @@ -56,7 +72,7 @@ case 'bulk-delete': $tags = $_GET['delete_tags']; foreach( (array) $tags as $tag_ID ) { - wp_delete_term( $tag_ID, 'post_tag'); + wp_delete_term( $tag_ID, $taxonomy); } $location = 'edit-tags.php'; @@ -77,7 +93,7 @@ case 'edit': require_once ('admin-header.php'); $tag_ID = (int) $_GET['tag_ID']; - $tag = get_term($tag_ID, 'post_tag', OBJECT, 'edit'); + $tag = get_term($tag_ID, $taxonomy, OBJECT, 'edit'); include('edit-tag-form.php'); break; @@ -89,7 +105,7 @@ case 'editedtag': if ( !current_user_can('manage_categories') ) wp_die(__('Cheatin’ uh?')); - $ret = wp_update_term($tag_ID, 'post_tag', $_POST); + $ret = wp_update_term($tag_ID, $taxonomy, $_POST); $location = 'edit-tags.php'; if ( $referer = wp_get_original_referer() ) { @@ -130,9 +146,9 @@ $messages[6] = __('Tags deleted.'); ?>