wp/wp-admin/edit-tag-form.php
changeset 7 cf61fcea0001
parent 5 5e2f62d02dcd
child 9 177826044cd9
--- a/wp/wp-admin/edit-tag-form.php	Tue Jun 09 11:14:17 2015 +0000
+++ b/wp/wp-admin/edit-tag-form.php	Mon Oct 14 17:39:30 2019 +0200
@@ -7,13 +7,8 @@
  */
 
 // don't load directly
-if ( !defined('ABSPATH') )
-	die('-1');
-
-if ( empty($tag_ID) ) { ?>
-	<div id="message" class="updated notice is-dismissible"><p><strong><?php _e( 'You did not select an item for editing.' ); ?></strong></p></div>
-<?php
-	return;
+if ( ! defined( 'ABSPATH' ) ) {
+	die( '-1' );
 }
 
 // Back compat hooks
@@ -48,6 +43,17 @@
 	 */
 	do_action( 'edit_tag_form_pre', $tag );
 }
+
+/**
+ * Use with caution, see https://codex.wordpress.org/Function_Reference/wp_reset_vars
+ */
+wp_reset_vars( array( 'wp_http_referer' ) );
+
+$wp_http_referer = remove_query_arg( array( 'action', 'message', 'tag_ID' ), $wp_http_referer );
+
+/** Also used by Edit Tags */
+require_once( ABSPATH . 'wp-admin/includes/edit-tag-messages.php' );
+
 /**
  * Fires before the Edit Term form for all taxonomies.
  *
@@ -62,24 +68,52 @@
 do_action( "{$taxonomy}_pre_edit_form", $tag, $taxonomy ); ?>
 
 <div class="wrap">
-<h2><?php echo $tax->labels->edit_item; ?></h2>
+<h1><?php echo $tax->labels->edit_item; ?></h1>
+
+<?php if ( $message ) : ?>
+<div id="message" class="updated">
+	<p><strong><?php echo $message; ?></strong></p>
+	<?php if ( $wp_http_referer ) { ?>
+	<p><a href="<?php echo esc_url( wp_validate_redirect( esc_url_raw( $wp_http_referer ), admin_url( 'term.php?taxonomy=' . $taxonomy ) ) ); ?>"><?php
+		echo esc_html( $tax->labels->back_to_items );
+	?></a></p>
+	<?php } ?>
+</div>
+<?php endif; ?>
+
 <div id="ajax-response"></div>
-<form name="edittag" id="edittag" method="post" action="edit-tags.php" class="validate"
-<?php
+
+<form name="edittag" id="edittag" method="post" action="edit-tags.php" class="validate"<?php
 /**
  * Fires inside the Edit Term form tag.
  *
- * The dynamic portion of the hook name, `$taxonomy`, refers to
- * the taxonomy slug.
+ * The dynamic portion of the hook name, `$taxonomy`, refers to the taxonomy slug.
  *
  * @since 3.7.0
  */
 do_action( "{$taxonomy}_term_edit_form_tag" );
 ?>>
-<input type="hidden" name="action" value="editedtag" />
-<input type="hidden" name="tag_ID" value="<?php echo esc_attr($tag->term_id) ?>" />
-<input type="hidden" name="taxonomy" value="<?php echo esc_attr($taxonomy) ?>" />
-<?php wp_original_referer_field(true, 'previous'); wp_nonce_field('update-tag_' . $tag_ID); ?>
+<input type="hidden" name="action" value="editedtag"/>
+<input type="hidden" name="tag_ID" value="<?php echo esc_attr( $tag_ID ) ?>"/>
+<input type="hidden" name="taxonomy" value="<?php echo esc_attr( $taxonomy ) ?>"/>
+<?php
+wp_original_referer_field( true, 'previous' );
+wp_nonce_field( 'update-tag_' . $tag_ID );
+
+/**
+ * Fires at the beginning of the Edit Term form.
+ *
+ * At this point, the required hidden fields and nonces have already been output.
+ *
+ * The dynamic portion of the hook name, `$taxonomy`, refers to the taxonomy slug.
+ *
+ * @since 4.5.0
+ *
+ * @param object $tag      Current taxonomy term object.
+ * @param string $taxonomy Current $taxonomy slug.
+ */
+do_action( "{$taxonomy}_term_edit_form_top", $tag, $taxonomy );
+?>
 	<table class="form-table">
 		<tr class="form-field form-required term-name-wrap">
 			<th scope="row"><label for="name"><?php _ex( 'Name', 'term name' ); ?></label></th>
@@ -91,17 +125,19 @@
 			<th scope="row"><label for="slug"><?php _e( 'Slug' ); ?></label></th>
 			<?php
 			/**
-			 * Filter the editable slug.
+			 * Filters the editable slug.
 			 *
 			 * Note: This is a multi-use hook in that it is leveraged both for editable
 			 * post URIs and term slugs.
 			 *
 			 * @since 2.6.0
+			 * @since 4.4.0 The `$tag` parameter was added.
 			 *
-			 * @param string $slug The editable slug. Will be either a term slug or post URI depending
-			 *                     upon the context in which it is evaluated.
+			 * @param string         $slug The editable slug. Will be either a term slug or post URI depending
+			 *                             upon the context in which it is evaluated.
+			 * @param object|WP_Post $tag  Term or WP_Post object.
 			 */
-			$slug = isset( $tag->slug ) ? apply_filters( 'editable_slug', $tag->slug ) : '';
+			$slug = isset( $tag->slug ) ? apply_filters( 'editable_slug', $tag->slug, $tag ) : '';
 			?>
 			<td><input name="slug" id="slug" type="text" value="<?php echo esc_attr( $slug ); ?>" size="40" />
 			<p class="description"><?php _e('The &#8220;slug&#8221; is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.'); ?></p></td>
@@ -109,7 +145,7 @@
 <?php } ?>
 <?php if ( is_taxonomy_hierarchical($taxonomy) ) : ?>
 		<tr class="form-field term-parent-wrap">
-			<th scope="row"><label for="parent"><?php _ex( 'Parent', 'term parent' ); ?></label></th>
+			<th scope="row"><label for="parent"><?php echo esc_html( $tax->labels->parent_item ); ?></label></th>
 			<td>
 				<?php
 				$dropdown_args = array(
@@ -128,7 +164,9 @@
 				$dropdown_args = apply_filters( 'taxonomy_parent_dropdown_args', $dropdown_args, $taxonomy, 'edit' );
 				wp_dropdown_categories( $dropdown_args ); ?>
 				<?php if ( 'category' == $taxonomy ) : ?>
-				<p class="description"><?php _e('Categories, unlike tags, can have a hierarchy. You might have a Jazz category, and under that have children categories for Bebop and Big Band. Totally optional.'); ?></p>
+					<p class="description"><?php _e( 'Categories, unlike tags, can have a hierarchy. You might have a Jazz category, and under that have children categories for Bebop and Big Band. Totally optional.' ); ?></p>
+				<?php else : ?>
+					<p class="description"><?php _e( 'Assign a parent term to create a hierarchy. The term Jazz, for example, would be the parent of Bebop and Big Band.' ); ?></p>
 				<?php endif; ?>
 			</td>
 		</tr>
@@ -215,9 +253,20 @@
  * @param string $taxonomy Current taxonomy slug.
  */
 do_action( "{$taxonomy}_edit_form", $tag, $taxonomy );
+?>
 
-submit_button( __('Update') );
-?>
+<div class="edit-tag-actions">
+
+	<?php submit_button( __( 'Update' ), 'primary', null, false ); ?>
+
+	<?php if ( current_user_can( 'delete_term', $tag->term_id ) ) : ?>
+		<span id="delete-link">
+			<a class="delete" href="<?php echo admin_url( wp_nonce_url( "edit-tags.php?action=delete&taxonomy=$taxonomy&tag_ID=$tag->term_id", 'delete-tag_' . $tag->term_id ) ) ?>"><?php _e( 'Delete' ); ?></a>
+		</span>
+	<?php endif; ?>
+
+</div>
+
 </form>
 </div>