2008-01-25 20:29:01 +01:00
< ? php
2008-08-16 09:27:34 +02:00
/**
* Edit tag form for inclusion in administration panels .
*
* @ package WordPress
* @ subpackage Administration
*/
2020-01-29 01:45:18 +01:00
// Don't load directly.
2016-01-15 09:27:27 +01:00
if ( ! defined ( 'ABSPATH' ) ) {
die ( '-1' );
2008-01-25 20:29:01 +01:00
}
2008-10-25 10:01:37 +02:00
2020-01-29 01:45:18 +01:00
// Back compat hooks.
2020-05-12 20:32:08 +02:00
if ( 'category' === $taxonomy ) {
2014-01-02 05:02:10 +01:00
/**
2017-12-01 00:11:00 +01:00
* Fires before the Edit Category form .
2014-01-02 05:02:10 +01:00
*
* @ since 2.1 . 0
2019-11-09 14:05:02 +01:00
* @ deprecated 3.0 . 0 Use { @ see '{$taxonomy}_pre_edit_form' } instead .
2014-01-02 05:02:10 +01:00
*
2018-03-10 03:01:29 +01:00
* @ param WP_Term $tag Current category term object .
2014-01-02 05:02:10 +01:00
*/
2019-11-09 13:59:03 +01:00
do_action_deprecated ( 'edit_category_form_pre' , array ( $tag ), '3.0.0' , '{$taxonomy}_pre_edit_form' );
2020-05-12 20:32:08 +02:00
} elseif ( 'link_category' === $taxonomy ) {
2014-01-02 05:02:10 +01:00
/**
* Fires before the Edit Link Category form .
*
* @ since 2.3 . 0
2019-11-09 14:05:02 +01:00
* @ deprecated 3.0 . 0 Use { @ see '{$taxonomy}_pre_edit_form' } instead .
2014-01-02 05:02:10 +01:00
*
2018-03-10 03:01:29 +01:00
* @ param WP_Term $tag Current link category term object .
2014-01-02 05:02:10 +01:00
*/
2019-11-09 13:59:03 +01:00
do_action_deprecated ( 'edit_link_category_form_pre' , array ( $tag ), '3.0.0' , '{$taxonomy}_pre_edit_form' );
2013-11-20 00:16:10 +01:00
} else {
2014-01-02 05:02:10 +01:00
/**
* Fires before the Edit Tag form .
*
* @ since 2.5 . 0
2019-11-09 14:05:02 +01:00
* @ deprecated 3.0 . 0 Use { @ see '{$taxonomy}_pre_edit_form' } instead .
2014-01-02 05:02:10 +01:00
*
2018-03-10 03:01:29 +01:00
* @ param WP_Term $tag Current tag term object .
2014-01-02 05:02:10 +01:00
*/
2019-11-09 13:59:03 +01:00
do_action_deprecated ( 'edit_tag_form_pre' , array ( $tag ), '3.0.0' , '{$taxonomy}_pre_edit_form' );
2013-11-20 00:16:10 +01:00
}
2015-09-15 17:59:42 +02:00
2024-05-01 20:01:12 +02:00
$wp_http_referer = ! empty ( $_REQUEST [ 'wp_http_referer' ] ) ? sanitize_text_field ( $_REQUEST [ 'wp_http_referer' ] ) : '' ;
2016-03-11 09:52:29 +01:00
$wp_http_referer = remove_query_arg ( array ( 'action' , 'message' , 'tag_ID' ), $wp_http_referer );
2015-09-15 17:59:42 +02:00
2021-04-18 16:29:03 +02:00
// Also used by Edit Tags.
2020-02-06 07:33:11 +01:00
require_once ABSPATH . 'wp-admin/includes/edit-tag-messages.php' ;
2015-09-15 17:59:42 +02:00
2014-01-02 05:02:10 +01:00
/**
* Fires before the Edit Term form for all taxonomies .
*
2014-11-30 12:42:24 +01:00
* The dynamic portion of the hook name , `$taxonomy` , refers to
2014-01-02 05:02:10 +01:00
* the taxonomy slug .
*
2021-03-07 13:32:09 +01:00
* Possible hook names include :
*
* - `category_pre_edit_form`
* - `post_tag_pre_edit_form`
*
2014-01-02 05:02:10 +01:00
* @ since 3.0 . 0
*
2018-03-10 03:01:29 +01:00
* @ param WP_Term $tag Current taxonomy term object .
* @ param string $taxonomy Current $taxonomy slug .
2014-01-02 05:02:10 +01:00
*/
2013-11-20 00:16:10 +01:00
do_action ( " { $taxonomy } _pre_edit_form " , $tag , $taxonomy ); ?>
2008-01-25 20:29:01 +01:00
< div class = " wrap " >
2015-06-27 17:41:25 +02:00
< h1 >< ? php echo $tax -> labels -> edit_item ; ?> </h1>
2015-09-15 17:59:42 +02:00
2019-01-21 05:50:50 +01:00
< ? php
$class = ( isset ( $msg ) && 5 === $msg ) ? 'error' : 'success' ;
if ( $message ) {
2023-09-14 02:54:19 +02:00
$message = '<p><strong>' . $message . '</strong></p>' ;
if ( $wp_http_referer ) {
$message .= '<p><a href="' . esc_url ( wp_validate_redirect ( sanitize_url ( $wp_http_referer ), admin_url ( 'term.php?taxonomy=' . $taxonomy ) ) ) . '">' . esc_html ( $tax -> labels -> back_to_items ) . '</a></p>' ;
}
wp_admin_notice (
$message ,
array (
'type' => $class ,
'id' => 'message' ,
'paragraph_wrap' => false ,
)
);
2019-01-21 05:50:50 +01:00
}
?>
2015-09-15 17:59:42 +02:00
2008-01-25 20:29:01 +01:00
< div id = " ajax-response " ></ div >
2015-09-15 17:59:42 +02:00
2017-12-01 00:11:00 +01:00
< form name = " edittag " id = " edittag " method = " post " action = " edit-tags.php " class = " validate "
< ? php
2014-01-02 05:02:10 +01:00
/**
* Fires inside the Edit Term form tag .
*
2016-09-20 15:33:29 +02:00
* The dynamic portion of the hook name , `$taxonomy` , refers to the taxonomy slug .
2014-01-02 05:02:10 +01:00
*
2021-03-07 13:32:09 +01:00
* Possible hook names include :
*
* - `category_term_edit_form_tag`
* - `post_tag_term_edit_form_tag`
*
2014-01-02 05:02:10 +01:00
* @ since 3.7 . 0
*/
2014-11-30 12:42:24 +01:00
do_action ( " { $taxonomy } _term_edit_form_tag " );
2017-12-01 00:11:00 +01:00
?>
>
2021-03-20 19:30:08 +01:00
< 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 ); ?> " />
2016-01-15 09:27:27 +01:00
< ? php
wp_original_referer_field ( true , 'previous' );
2016-03-11 09:52:29 +01:00
wp_nonce_field ( 'update-tag_' . $tag_ID );
2016-02-13 05:01:26 +01:00
/**
* Fires at the beginning of the Edit Term form .
*
* At this point , the required hidden fields and nonces have already been output .
*
2016-02-18 19:19:26 +01:00
* The dynamic portion of the hook name , `$taxonomy` , refers to the taxonomy slug .
*
2021-03-07 13:32:09 +01:00
* Possible hook names include :
*
* - `category_term_edit_form_top`
* - `post_tag_term_edit_form_top`
*
2016-02-13 05:01:26 +01:00
* @ since 4.5 . 0
*
2018-03-10 03:01:29 +01:00
* @ param WP_Term $tag Current taxonomy term object .
* @ param string $taxonomy Current $taxonomy slug .
2016-02-13 05:01:26 +01:00
*/
do_action ( " { $taxonomy } _term_edit_form_top " , $tag , $taxonomy );
2017-11-23 05:09:49 +01:00
$tag_name_value = '' ;
if ( isset ( $tag -> name ) ) {
$tag_name_value = esc_attr ( $tag -> name );
}
2016-01-15 09:27:27 +01:00
?>
2019-05-24 23:56:54 +02:00
< table class = " form-table " role = " presentation " >
2014-10-02 02:29:16 +02:00
< tr class = " form-field form-required term-name-wrap " >
2014-10-02 22:01:16 +02:00
< th scope = " row " >< label for = " name " >< ? php _ex ( 'Name' , 'term name' ); ?> </label></th>
2022-08-20 01:06:09 +02:00
< td >< input name = " name " id = " name " type = " text " value = " <?php echo $tag_name_value ; ?> " size = " 40 " aria - required = " true " aria - describedby = " name-description " />
< p class = " description " id = " name-description " >< ? php echo $tax -> labels -> name_field_description ; ?> </p></td>
2008-01-25 20:29:01 +01:00
</ tr >
2014-10-02 02:29:16 +02:00
< tr class = " form-field term-slug-wrap " >
2014-10-02 22:01:16 +02:00
< th scope = " row " >< label for = " slug " >< ? php _e ( 'Slug' ); ?> </label></th>
2014-01-02 05:02:10 +01:00
< ? php
/**
2020-10-17 18:05:09 +02:00
* Filters the editable slug for a post or term .
2015-03-09 08:04:27 +01:00
*
* Note : This is a multi - use hook in that it is leveraged both for editable
* post URIs and term slugs .
2014-01-02 05:02:10 +01:00
*
* @ since 2.6 . 0
2015-09-19 07:49:24 +02:00
* @ since 4.4 . 0 The `$tag` parameter was added .
2014-01-02 05:02:10 +01:00
*
2018-03-10 03:01:29 +01:00
* @ param string $slug The editable slug . Will be either a term slug or post URI depending
* upon the context in which it is evaluated .
2020-10-17 18:05:09 +02:00
* @ param WP_Term | WP_Post $tag Term or post object .
2014-01-02 05:02:10 +01:00
*/
2015-09-19 07:49:24 +02:00
$slug = isset ( $tag -> slug ) ? apply_filters ( 'editable_slug' , $tag -> slug , $tag ) : '' ;
2014-01-02 05:02:10 +01:00
?>
2022-08-20 01:06:09 +02:00
< td >< input name = " slug " id = " slug " type = " text " value = " <?php echo esc_attr( $slug ); ?> " size = " 40 " aria - describedby = " slug-description " />
< p class = " description " id = " slug-description " >< ? php echo $tax -> labels -> slug_field_description ; ?> </p></td>
2010-01-24 12:00:27 +01:00
</ tr >
2017-12-01 00:11:00 +01:00
< ? php if ( is_taxonomy_hierarchical ( $taxonomy ) ) : ?>
2014-10-02 02:29:16 +02:00
< tr class = " form-field term-parent-wrap " >
2017-03-03 03:54:42 +01:00
< th scope = " row " >< label for = " parent " >< ? php echo esc_html ( $tax -> labels -> parent_item ); ?> </label></th>
2010-01-24 12:00:27 +01:00
< td >
2014-12-29 16:27:22 +01:00
< ? php
$dropdown_args = array (
'hide_empty' => 0 ,
'hide_if_empty' => false ,
'taxonomy' => $taxonomy ,
'name' => 'parent' ,
'orderby' => 'name' ,
'selected' => $tag -> parent ,
'exclude_tree' => $tag -> term_id ,
'hierarchical' => true ,
'show_option_none' => __ ( 'None' ),
2022-08-20 01:06:09 +02:00
'aria_describedby' => 'parent-description' ,
2014-12-29 16:27:22 +01:00
);
/** This filter is documented in wp-admin/edit-tags.php */
$dropdown_args = apply_filters ( 'taxonomy_parent_dropdown_args' , $dropdown_args , $taxonomy , 'edit' );
2017-12-01 00:11:00 +01:00
wp_dropdown_categories ( $dropdown_args );
?>
2020-05-12 20:32:08 +02:00
< ? php if ( 'category' === $taxonomy ) : ?>
2022-08-20 01:06:09 +02:00
< p class = " description " id = " parent-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>
2017-01-13 05:19:39 +01:00
< ? php else : ?>
2022-08-20 01:06:09 +02:00
< p class = " description " id = " parent-description " >< ? php echo $tax -> labels -> parent_field_description ; ?> </p>
2010-02-13 04:08:16 +01:00
< ? php endif ; ?>
2010-01-24 12:00:27 +01:00
</ td >
2008-01-25 20:29:01 +01:00
</ tr >
2010-02-13 04:08:16 +01:00
< ? php endif ; // is_taxonomy_hierarchical() ?>
2014-10-02 02:29:16 +02:00
< tr class = " form-field term-description-wrap " >
2014-10-02 22:01:16 +02:00
< th scope = " row " >< label for = " description " >< ? php _e ( 'Description' ); ?> </label></th>
2022-08-20 01:06:09 +02:00
< td >< textarea name = " description " id = " description " rows = " 5 " cols = " 50 " class = " large-text " aria - describedby = " description-description " >< ? php echo $tag -> description ; // textarea_escaped ?></textarea>
< p class = " description " id = " description-description " >< ? php echo $tax -> labels -> desc_field_description ; ?> </p></td>
2009-04-09 18:00:40 +02:00
</ tr >
2010-02-04 11:51:58 +01:00
< ? php
2020-01-29 01:45:18 +01:00
// Back compat hooks.
2020-05-12 20:32:08 +02:00
if ( 'category' === $taxonomy ) {
2014-01-02 05:02:10 +01:00
/**
* Fires after the Edit Category form fields are displayed .
*
* @ since 2.9 . 0
2019-11-09 14:05:02 +01:00
* @ deprecated 3.0 . 0 Use { @ see '{$taxonomy}_edit_form_fields' } instead .
2014-01-02 05:02:10 +01:00
*
2018-03-10 03:01:29 +01:00
* @ param WP_Term $tag Current category term object .
2014-01-02 05:02:10 +01:00
*/
2019-11-09 13:59:03 +01:00
do_action_deprecated ( 'edit_category_form_fields' , array ( $tag ), '3.0.0' , '{$taxonomy}_edit_form_fields' );
2020-05-12 20:32:08 +02:00
} elseif ( 'link_category' === $taxonomy ) {
2014-01-02 05:02:10 +01:00
/**
* Fires after the Edit Link Category form fields are displayed .
*
* @ since 2.9 . 0
2019-11-09 14:05:02 +01:00
* @ deprecated 3.0 . 0 Use { @ see '{$taxonomy}_edit_form_fields' } instead .
2014-01-02 05:02:10 +01:00
*
2018-03-10 03:01:29 +01:00
* @ param WP_Term $tag Current link category term object .
2014-01-02 05:02:10 +01:00
*/
2019-11-09 13:59:03 +01:00
do_action_deprecated ( 'edit_link_category_form_fields' , array ( $tag ), '3.0.0' , '{$taxonomy}_edit_form_fields' );
2014-01-02 05:02:10 +01:00
} else {
/**
* Fires after the Edit Tag form fields are displayed .
*
* @ since 2.9 . 0
2019-11-09 14:05:02 +01:00
* @ deprecated 3.0 . 0 Use { @ see '{$taxonomy}_edit_form_fields' } instead .
2014-01-02 05:02:10 +01:00
*
2018-03-10 03:01:29 +01:00
* @ param WP_Term $tag Current tag term object .
2014-01-02 05:02:10 +01:00
*/
2019-11-09 13:59:03 +01:00
do_action_deprecated ( 'edit_tag_form_fields' , array ( $tag ), '3.0.0' , '{$taxonomy}_edit_form_fields' );
2014-01-02 05:02:10 +01:00
}
/**
* Fires after the Edit Term form fields are displayed .
*
2014-11-30 12:42:24 +01:00
* The dynamic portion of the hook name , `$taxonomy` , refers to
2014-01-02 05:02:10 +01:00
* the taxonomy slug .
*
2021-03-07 13:32:09 +01:00
* Possible hook names include :
*
* - `category_edit_form_fields`
* - `post_tag_edit_form_fields`
*
2014-01-02 05:02:10 +01:00
* @ since 3.0 . 0
*
2018-03-10 03:01:29 +01:00
* @ param WP_Term $tag Current taxonomy term object .
* @ param string $taxonomy Current taxonomy slug .
2014-01-02 05:02:10 +01:00
*/
do_action ( " { $taxonomy } _edit_form_fields " , $tag , $taxonomy );
2010-02-04 11:51:58 +01:00
?>
2008-01-25 20:29:01 +01:00
</ table >
2010-02-08 19:02:23 +01:00
< ? php
2020-01-29 01:45:18 +01:00
// Back compat hooks.
2020-05-12 20:32:08 +02:00
if ( 'category' === $taxonomy ) {
2014-01-02 05:02:10 +01:00
/** This action is documented in wp-admin/edit-tags.php */
2019-11-09 13:59:03 +01:00
do_action_deprecated ( 'edit_category_form' , array ( $tag ), '3.0.0' , '{$taxonomy}_add_form' );
2020-05-12 20:32:08 +02:00
} elseif ( 'link_category' === $taxonomy ) {
2014-01-02 05:02:10 +01:00
/** This action is documented in wp-admin/edit-tags.php */
2019-11-09 13:59:03 +01:00
do_action_deprecated ( 'edit_link_category_form' , array ( $tag ), '3.0.0' , '{$taxonomy}_add_form' );
2014-01-02 05:02:10 +01:00
} else {
/**
* Fires at the end of the Edit Term form .
*
* @ since 2.5 . 0
2019-11-09 14:05:02 +01:00
* @ deprecated 3.0 . 0 Use { @ see '{$taxonomy}_edit_form' } instead .
2014-01-02 05:02:10 +01:00
*
2018-03-10 03:01:29 +01:00
* @ param WP_Term $tag Current taxonomy term object .
2014-01-02 05:02:10 +01:00
*/
2019-11-09 13:59:03 +01:00
do_action_deprecated ( 'edit_tag_form' , array ( $tag ), '3.0.0' , '{$taxonomy}_edit_form' );
2014-01-02 05:02:10 +01:00
}
/**
* Fires at the end of the Edit Term form for all taxonomies .
*
2014-11-30 12:42:24 +01:00
* The dynamic portion of the hook name , `$taxonomy` , refers to the taxonomy slug .
2014-01-02 05:02:10 +01:00
*
2021-03-07 13:32:09 +01:00
* Possible hook names include :
*
* - `category_edit_form`
* - `post_tag_edit_form`
*
2014-01-02 05:02:10 +01:00
* @ since 3.0 . 0
*
2018-03-10 03:01:29 +01:00
* @ param WP_Term $tag Current taxonomy term object .
* @ param string $taxonomy Current taxonomy slug .
2014-01-02 05:02:10 +01:00
*/
do_action ( " { $taxonomy } _edit_form " , $tag , $taxonomy );
2010-02-04 11:51:58 +01:00
?>
2017-05-12 21:26:41 +02:00
< 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 " >
2021-06-17 16:37:00 +02:00
< a class = " delete " href = " <?php echo esc_url( 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>
2017-05-12 21:26:41 +02:00
</ span >
< ? php endif ; ?>
</ div >
2008-01-25 20:29:01 +01:00
</ form >
</ div >
2014-12-13 23:08:23 +01:00
< ? php if ( ! wp_is_mobile () ) : ?>
2012-07-24 02:15:15 +02:00
< script type = " text/javascript " >
try { document . forms . edittag . name . focus ();} catch ( e ){}
</ script >
2018-08-17 03:51:36 +02:00
< ? php
2017-12-01 00:11:00 +01:00
endif ;