*/
// 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
*/
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.
*
<div class="wrap">
<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_http_referer ); ?>"><?php
+ /* translators: %s: taxonomy name */
+ printf( _x( '← Back to %s', 'admin screen' ), $tax->labels->name );
+ ?></a></p>
+ <?php } else { ?>
+ <p><a href="<?php echo esc_url( wp_get_referer() ); ?>"><?php
+ /* translators: %s: taxonomy name */
+ printf( _x( '← Back to %s', 'admin screen' ), $tax->labels->name );
+ ?></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
/**
*/
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>
<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 “slug” is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.'); ?></p></td>