2008-01-25 20:29:01 +01:00
< ? php
2008-08-16 09:27:34 +02:00
/**
2011-04-28 17:24:49 +02:00
* Edit Tags Administration Screen .
2008-08-16 09:27:34 +02:00
*
* @ package WordPress
* @ subpackage Administration
*/
/** WordPress Administration Bootstrap */
2013-09-25 02:18:11 +02:00
require_once ( dirname ( __FILE__ ) . '/admin.php' );
2011-10-13 20:55:40 +02:00
2011-11-11 16:44:16 +01:00
if ( ! $taxnow )
2011-10-13 20:55:40 +02:00
wp_die ( __ ( 'Invalid taxonomy' ) );
2011-11-11 16:44:16 +01:00
$tax = get_taxonomy ( $taxnow );
2011-10-13 20:55:40 +02:00
if ( ! $tax )
wp_die ( __ ( 'Invalid taxonomy' ) );
if ( ! current_user_can ( $tax -> cap -> manage_terms ) )
2014-11-16 07:16:22 +01:00
wp_die ( __ ( 'Cheatin’ uh?' ), 403 );
2010-11-17 19:47:34 +01:00
2011-01-16 22:47:24 +01:00
$wp_list_table = _get_list_table ( 'WP_Terms_List_Table' );
2011-01-25 20:20:20 +01:00
$pagenum = $wp_list_table -> get_pagenum ();
2010-07-18 15:53:58 +02:00
2010-05-14 02:34:04 +02:00
$title = $tax -> labels -> name ;
2010-01-26 13:13:24 +01:00
2010-01-04 17:58:43 +01:00
if ( 'post' != $post_type ) {
2012-09-22 00:52:54 +02:00
$parent_file = ( 'attachment' == $post_type ) ? 'upload.php' : " edit.php?post_type= $post_type " ;
2010-01-10 02:24:56 +01:00
$submenu_file = " edit-tags.php?taxonomy= $taxonomy &post_type= $post_type " ;
2010-12-18 17:48:20 +01:00
} else if ( 'link_category' == $tax -> name ) {
$parent_file = 'link-manager.php' ;
$submenu_file = 'edit-tags.php?taxonomy=link_category' ;
2010-01-04 17:58:43 +01:00
} else {
$parent_file = 'edit.php' ;
2010-01-15 23:11:12 +01:00
$submenu_file = " edit-tags.php?taxonomy= $taxonomy " ;
2010-01-04 17:58:43 +01:00
}
2009-02-14 03:37:10 +01:00
2012-07-25 18:13:13 +02:00
add_screen_option ( 'per_page' , array ( 'label' => $title , 'default' => 20 , 'option' => 'edit_' . $tax -> name . '_per_page' ) );
2011-10-02 08:59:36 +02:00
2014-09-29 06:54:16 +02:00
$location = false ;
2010-09-22 02:10:39 +02:00
switch ( $wp_list_table -> current_action () ) {
2008-01-25 20:29:01 +01:00
2009-12-18 07:30:16 +01:00
case 'add-tag' :
2008-01-25 20:29:01 +01:00
2011-05-24 01:33:30 +02:00
check_admin_referer ( 'add-tag' , '_wpnonce_add-tag' );
2008-01-25 20:29:01 +01:00
2010-08-11 23:54:51 +02:00
if ( ! current_user_can ( $tax -> cap -> edit_terms ) )
2014-11-16 07:16:22 +01:00
wp_die ( __ ( 'Cheatin’ uh?' ), 403 );
2008-01-25 20:29:01 +01:00
2013-03-01 17:28:40 +01:00
$ret = wp_insert_term ( $_POST [ 'tag-name' ], $taxonomy , $_POST );
2010-02-19 10:54:18 +01:00
$location = 'edit-tags.php?taxonomy=' . $taxonomy ;
if ( 'post' != $post_type )
$location .= '&post_type=' . $post_type ;
if ( $referer = wp_get_original_referer () ) {
2010-08-11 23:54:51 +02:00
if ( false !== strpos ( $referer , 'edit-tags.php' ) )
2010-02-19 10:54:18 +01:00
$location = $referer ;
2008-01-25 20:29:01 +01:00
}
2010-02-19 10:54:18 +01:00
if ( $ret && ! is_wp_error ( $ret ) )
2010-08-11 23:54:51 +02:00
$location = add_query_arg ( 'message' , 1 , $location );
2010-02-19 10:54:18 +01:00
else
2010-08-11 23:54:51 +02:00
$location = add_query_arg ( 'message' , 4 , $location );
2014-09-29 06:54:16 +02:00
break ;
2008-01-25 20:29:01 +01:00
case 'delete' :
2010-02-19 10:54:18 +01:00
$location = 'edit-tags.php?taxonomy=' . $taxonomy ;
if ( 'post' != $post_type )
$location .= '&post_type=' . $post_type ;
if ( $referer = wp_get_referer () ) {
2010-08-11 23:54:51 +02:00
if ( false !== strpos ( $referer , 'edit-tags.php' ) )
2010-02-19 10:54:18 +01:00
$location = $referer ;
}
2014-09-29 06:54:16 +02:00
if ( ! isset ( $_REQUEST [ 'tag_ID' ] ) ) {
break ;
2009-12-03 02:43:49 +01:00
}
2010-08-11 23:54:51 +02:00
$tag_ID = ( int ) $_REQUEST [ 'tag_ID' ];
2011-12-14 00:45:31 +01:00
check_admin_referer ( 'delete-tag_' . $tag_ID );
2008-01-25 20:29:01 +01:00
2010-08-11 23:54:51 +02:00
if ( ! current_user_can ( $tax -> cap -> delete_terms ) )
2014-11-16 07:16:22 +01:00
wp_die ( __ ( 'Cheatin’ uh?' ), 403 );
2008-01-25 20:29:01 +01:00
2010-08-11 23:54:51 +02:00
wp_delete_term ( $tag_ID , $taxonomy );
2008-01-25 20:29:01 +01:00
2010-08-11 23:54:51 +02:00
$location = add_query_arg ( 'message' , 2 , $location );
2014-09-29 06:54:16 +02:00
break ;
2008-01-25 20:29:01 +01:00
2008-02-08 20:38:53 +01:00
case 'bulk-delete' :
2010-08-11 23:54:51 +02:00
check_admin_referer ( 'bulk-tags' );
2008-02-08 20:38:53 +01:00
2010-08-11 23:54:51 +02:00
if ( ! current_user_can ( $tax -> cap -> delete_terms ) )
2014-11-16 07:16:22 +01:00
wp_die ( __ ( 'Cheatin’ uh?' ), 403 );
2008-02-08 20:38:53 +01:00
2010-08-11 23:54:51 +02:00
$tags = ( array ) $_REQUEST [ 'delete_tags' ];
foreach ( $tags as $tag_ID ) {
wp_delete_term ( $tag_ID , $taxonomy );
2008-02-08 20:38:53 +01:00
}
2010-01-24 12:00:27 +01:00
$location = 'edit-tags.php?taxonomy=' . $taxonomy ;
2010-02-19 10:54:18 +01:00
if ( 'post' != $post_type )
$location .= '&post_type=' . $post_type ;
2008-03-26 22:54:02 +01:00
if ( $referer = wp_get_referer () ) {
2010-08-11 23:54:51 +02:00
if ( false !== strpos ( $referer , 'edit-tags.php' ) )
2008-03-26 22:54:02 +01:00
$location = $referer ;
}
2010-08-11 23:54:51 +02:00
$location = add_query_arg ( 'message' , 6 , $location );
2014-09-29 06:54:16 +02:00
break ;
2008-02-08 20:38:53 +01:00
2008-01-25 20:29:01 +01:00
case 'edit' :
2010-05-14 02:34:04 +02:00
$title = $tax -> labels -> edit_item ;
2008-01-25 20:29:01 +01:00
2010-08-11 23:54:51 +02:00
$tag_ID = ( int ) $_REQUEST [ 'tag_ID' ];
2008-02-05 07:47:27 +01:00
2010-08-11 23:54:51 +02:00
$tag = get_term ( $tag_ID , $taxonomy , OBJECT , 'edit' );
2011-10-12 22:30:50 +02:00
if ( ! $tag )
wp_die ( __ ( 'You attempted to edit an item that doesn’t exist. Perhaps it was deleted?' ) );
2013-09-25 02:18:11 +02:00
require_once ( ABSPATH . 'wp-admin/admin-header.php' );
include ( ABSPATH . 'wp-admin/edit-tag-form.php' );
2014-09-29 06:54:16 +02:00
include ( ABSPATH . 'wp-admin/admin-footer.php' );
2008-01-25 20:29:01 +01:00
2014-09-29 06:54:16 +02:00
exit ;
2008-01-25 20:29:01 +01:00
case 'editedtag' :
2013-03-01 17:28:40 +01:00
$tag_ID = ( int ) $_POST [ 'tag_ID' ];
2010-08-11 23:54:51 +02:00
check_admin_referer ( 'update-tag_' . $tag_ID );
2008-01-25 20:29:01 +01:00
2010-08-11 23:54:51 +02:00
if ( ! current_user_can ( $tax -> cap -> edit_terms ) )
2014-11-16 07:16:22 +01:00
wp_die ( __ ( 'Cheatin’ uh?' ), 403 );
2011-10-24 21:13:23 +02:00
$tag = get_term ( $tag_ID , $taxonomy );
2011-10-12 22:30:50 +02:00
if ( ! $tag )
wp_die ( __ ( 'You attempted to edit an item that doesn’t exist. Perhaps it was deleted?' ) );
2008-01-25 20:29:01 +01:00
2013-03-01 17:28:40 +01:00
$ret = wp_update_term ( $tag_ID , $taxonomy , $_POST );
2008-03-26 22:54:02 +01:00
2010-01-24 12:00:27 +01:00
$location = 'edit-tags.php?taxonomy=' . $taxonomy ;
2010-02-19 10:54:18 +01:00
if ( 'post' != $post_type )
$location .= '&post_type=' . $post_type ;
2008-03-26 22:54:02 +01:00
if ( $referer = wp_get_original_referer () ) {
2010-08-11 23:54:51 +02:00
if ( false !== strpos ( $referer , 'edit-tags.php' ) )
2008-03-26 22:54:02 +01:00
$location = $referer ;
2008-01-25 20:29:01 +01:00
}
2008-03-26 22:54:02 +01:00
if ( $ret && ! is_wp_error ( $ret ) )
2010-08-11 23:54:51 +02:00
$location = add_query_arg ( 'message' , 3 , $location );
2008-03-26 22:54:02 +01:00
else
2010-08-11 23:54:51 +02:00
$location = add_query_arg ( 'message' , 5 , $location );
2014-09-29 06:54:16 +02:00
break ;
}
2008-03-26 22:54:02 +01:00
2014-09-29 06:54:16 +02:00
if ( ! $location && ! empty ( $_REQUEST [ '_wp_http_referer' ] ) ) {
2013-03-01 18:00:25 +01:00
$location = remove_query_arg ( array ( '_wp_http_referer' , '_wpnonce' ), wp_unslash ( $_SERVER [ 'REQUEST_URI' ]) );
2014-09-29 06:54:16 +02:00
}
2011-01-25 20:20:20 +01:00
2014-09-29 06:54:16 +02:00
if ( $location ) {
if ( ! empty ( $_REQUEST [ 'paged' ] ) ) {
$location = add_query_arg ( 'paged' , ( int ) $_REQUEST [ 'paged' ], $location );
}
2011-01-25 20:20:20 +01:00
wp_redirect ( $location );
exit ;
2008-02-15 23:29:18 +01:00
}
2010-08-22 13:22:46 +02:00
$wp_list_table -> prepare_items ();
2011-01-25 20:20:20 +01:00
$total_pages = $wp_list_table -> get_pagination_arg ( 'total_pages' );
2011-01-26 10:56:17 +01:00
if ( $pagenum > $total_pages && $total_pages > 0 ) {
2011-01-25 20:20:20 +01:00
wp_redirect ( add_query_arg ( 'paged' , $total_pages ) );
exit ;
}
2010-08-13 01:21:05 +02:00
2008-11-12 10:35:50 +01:00
wp_enqueue_script ( 'admin-tags' );
2010-05-13 06:10:17 +02:00
if ( current_user_can ( $tax -> cap -> edit_terms ) )
2008-10-05 06:43:52 +02:00
wp_enqueue_script ( 'inline-edit-tax' );
2008-02-05 08:45:40 +01:00
2010-12-16 07:37:03 +01:00
if ( 'category' == $taxonomy || 'link_category' == $taxonomy || 'post_tag' == $taxonomy ) {
2010-12-16 14:09:16 +01:00
$help = '' ;
2010-05-26 01:49:40 +02:00
if ( 'category' == $taxonomy )
2010-12-17 04:32:46 +01:00
$help = '<p>' . sprintf ( __ ( 'You can use categories to define sections of your site and group related posts. The default category is “Uncategorized” until you change it in your <a href="%s">writing settings</a>.' ) , 'options-writing.php' ) . '</p>' ;
elseif ( 'link_category' == $taxonomy )
2011-11-24 01:21:39 +01:00
$help = '<p>' . __ ( 'You can create groups of links by using Link Categories. Link Category names must be unique and Link Categories are separate from the categories you use for posts.' ) . '</p>' ;
2010-05-26 01:49:40 +02:00
else
2011-11-24 01:21:39 +01:00
$help = '<p>' . __ ( 'You can assign keywords to your posts using <strong>tags</strong>. Unlike categories, tags have no hierarchy, meaning there’s no relationship from one tag to another.' ) . '</p>' ;
2010-12-17 04:32:46 +01:00
if ( 'link_category' == $taxonomy )
2012-07-25 20:06:13 +02:00
$help .= '<p>' . __ ( 'You can delete Link Categories in the Bulk Action pull-down, but that action does not delete the links within the category. Instead, it moves them to the default Link Category.' ) . '</p>' ;
2010-12-16 07:37:03 +01:00
else
$help .= '<p>' . __ ( 'What’s the difference between categories and tags? Normally, tags are ad-hoc keywords that identify important information in your post (names, subjects, etc) that may or may not recur in other posts, while categories are pre-determined sections. If you think of your site like a book, the categories are like the Table of Contents and the tags are like the terms in the index.' ) . '</p>' ;
2010-05-26 01:49:40 +02:00
2011-12-01 02:51:34 +01:00
get_current_screen () -> add_help_tab ( array (
2011-12-01 03:22:07 +01:00
'id' => 'overview' ,
2011-12-01 02:51:34 +01:00
'title' => __ ( 'Overview' ),
'content' => $help ,
) );
2010-12-16 07:37:03 +01:00
2011-12-01 02:51:34 +01:00
if ( 'category' == $taxonomy || 'post_tag' == $taxonomy ) {
if ( 'category' == $taxonomy )
$help = '<p>' . __ ( 'When adding a new category on this screen, you’ll fill in the following fields:' ) . '</p>' ;
else
$help = '<p>' . __ ( 'When adding a new tag on this screen, you’ll fill in the following fields:' ) . '</p>' ;
2010-05-26 01:49:40 +02:00
2010-12-16 07:37:03 +01:00
$help .= '<ul>' .
'<li>' . __ ( '<strong>Name</strong> - The name is how it appears on your site.' ) . '</li>' ;
2010-12-17 04:32:46 +01:00
2011-12-01 02:51:34 +01:00
if ( ! global_terms_enabled () )
$help .= '<li>' . __ ( '<strong>Slug</strong> - The “slug” is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.' ) . '</li>' ;
2010-05-26 01:49:40 +02:00
2011-12-01 02:51:34 +01:00
if ( 'category' == $taxonomy )
2012-11-22 09:45:15 +01:00
$help .= '<li>' . __ ( '<strong>Parent</strong> - Categories, unlike tags, can have a hierarchy. You might have a Jazz category, and under that have child categories for Bebop and Big Band. Totally optional. To create a subcategory, just choose another category from the Parent dropdown.' ) . '</li>' ;
2010-05-26 01:49:40 +02:00
2010-12-16 07:37:03 +01:00
$help .= '<li>' . __ ( '<strong>Description</strong> - The description is not prominent by default; however, some themes may display it.' ) . '</li>' .
2010-05-26 01:49:40 +02:00
'</ul>' .
2011-11-02 04:12:37 +01:00
'<p>' . __ ( 'You can change the display of this screen using the Screen Options tab to set how many items are displayed per screen and to display/hide columns in the table.' ) . '</p>' ;
2011-12-01 05:51:35 +01:00
2011-12-01 02:51:34 +01:00
get_current_screen () -> add_help_tab ( array (
'id' => 'adding-terms' ,
'title' => 'category' == $taxonomy ? __ ( 'Adding Categories' ) : __ ( 'Adding Tags' ),
'content' => $help ,
) );
}
2011-11-02 04:12:37 +01:00
$help = '<p><strong>' . __ ( 'For more information:' ) . '</strong></p>' ;
2010-05-26 01:49:40 +02:00
if ( 'category' == $taxonomy )
2011-04-28 17:24:49 +02:00
$help .= '<p>' . __ ( '<a href="http://codex.wordpress.org/Posts_Categories_Screen" target="_blank">Documentation on Categories</a>' ) . '</p>' ;
2010-12-16 07:37:03 +01:00
elseif ( 'link_category' == $taxonomy )
2011-04-28 17:24:49 +02:00
$help .= '<p>' . __ ( '<a href="http://codex.wordpress.org/Links_Link_Categories_Screen" target="_blank">Documentation on Link Categories</a>' ) . '</p>' ;
2010-05-26 01:49:40 +02:00
else
2011-09-11 19:52:46 +02:00
$help .= '<p>' . __ ( '<a href="http://codex.wordpress.org/Posts_Tags_Screen" target="_blank">Documentation on Tags</a>' ) . '</p>' ;
2010-05-26 01:49:40 +02:00
2014-03-03 03:34:27 +01:00
$help .= '<p>' . __ ( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>' ;
2010-05-26 01:49:40 +02:00
2011-11-02 21:14:10 +01:00
get_current_screen () -> set_help_sidebar ( $help );
2011-11-02 04:12:37 +01:00
2011-12-01 02:51:34 +01:00
unset ( $help );
2010-05-26 01:49:40 +02:00
}
2013-09-25 02:18:11 +02:00
require_once ( ABSPATH . 'wp-admin/admin-header.php' );
2008-01-25 20:29:01 +01:00
2010-08-11 23:54:51 +02:00
if ( ! current_user_can ( $tax -> cap -> edit_terms ) )
wp_die ( __ ( 'You are not allowed to edit this item.' ) );
2013-08-27 23:13:08 +02:00
$messages = array ();
$messages [ '_item' ] = array (
0 => '' , // Unused. Messages start at index 1.
1 => __ ( 'Item added.' ),
2 => __ ( 'Item deleted.' ),
3 => __ ( 'Item updated.' ),
4 => __ ( 'Item not added.' ),
5 => __ ( 'Item not updated.' ),
6 => __ ( 'Items deleted.' )
);
$messages [ 'category' ] = array (
0 => '' , // Unused. Messages start at index 1.
1 => __ ( 'Category added.' ),
2 => __ ( 'Category deleted.' ),
3 => __ ( 'Category updated.' ),
4 => __ ( 'Category not added.' ),
5 => __ ( 'Category not updated.' ),
6 => __ ( 'Categories deleted.' )
);
$messages [ 'post_tag' ] = array (
0 => '' , // Unused. Messages start at index 1.
1 => __ ( 'Tag added.' ),
2 => __ ( 'Tag deleted.' ),
3 => __ ( 'Tag updated.' ),
4 => __ ( 'Tag not added.' ),
5 => __ ( 'Tag not updated.' ),
6 => __ ( 'Tags deleted.' )
);
2013-11-20 00:16:10 +01:00
/**
* Filter the messages displayed when a tag is updated .
*
* @ since 3.7 . 0
*
* @ param array $messages The messages to be displayed .
*/
2013-08-27 23:13:08 +02:00
$messages = apply_filters ( 'term_updated_messages' , $messages );
$message = false ;
if ( isset ( $_REQUEST [ 'message' ] ) && ( $msg = ( int ) $_REQUEST [ 'message' ] ) ) {
if ( isset ( $messages [ $taxonomy ][ $msg ] ) )
$message = $messages [ $taxonomy ][ $msg ];
elseif ( ! isset ( $messages [ $taxonomy ] ) && isset ( $messages [ '_item' ][ $msg ] ) )
$message = $messages [ '_item' ][ $msg ];
}
2010-02-13 04:08:16 +01:00
?>
2008-01-25 20:29:01 +01:00
2008-11-05 20:51:07 +01:00
< div class = " wrap nosubsub " >
2009-05-18 17:11:07 +02:00
< h2 >< ? php echo esc_html ( $title );
2013-03-01 17:28:40 +01:00
if ( ! empty ( $_REQUEST [ 's' ]) )
2013-03-01 18:00:25 +01:00
printf ( '<span class="subtitle">' . __ ( 'Search results for “%s”' ) . '</span>' , esc_html ( wp_unslash ( $_REQUEST [ 's' ]) ) ); ?>
2008-12-04 13:01:02 +01:00
</ h2 >
2008-11-05 20:51:07 +01:00
2013-08-27 23:13:08 +02:00
< ? php if ( $message ) : ?>
< div id = " message " class = " updated " >< p >< ? php echo $message ; ?> </p></div>
2008-09-28 06:11:27 +02:00
< ? php $_SERVER [ 'REQUEST_URI' ] = remove_query_arg ( array ( 'message' ), $_SERVER [ 'REQUEST_URI' ]);
endif ; ?>
2009-07-01 10:12:39 +02:00
< div id = " ajax-response " ></ div >
2008-02-12 10:25:19 +01:00
2008-10-27 02:22:24 +01:00
< form class = " search-form " action = " " method = " get " >
2009-05-29 04:54:44 +02:00
< input type = " hidden " name = " taxonomy " value = " <?php echo esc_attr( $taxonomy ); ?> " />
2010-01-10 02:24:56 +01:00
< input type = " hidden " name = " post_type " value = " <?php echo esc_attr( $post_type ); ?> " />
2010-12-16 21:45:10 +01:00
< ? php $wp_list_table -> search_box ( $tax -> labels -> search_items , 'tag' ); ?>
2008-10-03 02:13:12 +02:00
</ form >
< br class = " clear " />
2008-10-02 20:03:45 +02:00
2008-10-25 10:01:37 +02:00
< div id = " col-container " >
< div id = " col-right " >
< div class = " col-wrap " >
2010-08-11 23:54:51 +02:00
< form id = " posts-filter " action = " " method = " post " >
2009-05-05 21:43:53 +02:00
< input type = " hidden " name = " taxonomy " value = " <?php echo esc_attr( $taxonomy ); ?> " />
2010-01-10 02:24:56 +01:00
< input type = " hidden " name = " post_type " value = " <?php echo esc_attr( $post_type ); ?> " />
2008-02-12 10:25:19 +01:00
2010-12-16 20:05:14 +01:00
< ? php $wp_list_table -> display (); ?>
2008-09-29 11:26:21 +02:00
2008-03-23 07:41:43 +01:00
< br class = " clear " />
2008-09-29 11:26:21 +02:00
</ form >
2010-02-13 04:08:16 +01:00
< ? php if ( 'category' == $taxonomy ) : ?>
2010-02-21 01:03:42 +01:00
< div class = " form-wrap " >
2014-04-25 08:43:16 +02:00
< p >
< ? php
/** This filter is documented in wp-includes/category-template.php */
printf ( __ ( '<strong>Note:</strong><br />Deleting a category does not delete the posts in that category. Instead, posts that were only assigned to the deleted category are set to the category <strong>%s</strong>.' ), apply_filters ( 'the_category' , get_cat_name ( get_option ( 'default_category' ) ) ) );
?>
</ p >
2010-06-11 02:00:47 +02:00
< ? php if ( current_user_can ( 'import' ) ) : ?>
2010-05-27 06:35:11 +02:00
< p >< ? php printf ( __ ( 'Categories can be selectively converted to tags using the <a href="%s">category to tag converter</a>.' ), 'import.php' ) ?> </p>
2010-06-11 02:00:47 +02:00
< ? php endif ; ?>
2010-05-27 06:35:11 +02:00
</ div >
2010-06-11 02:00:47 +02:00
< ? php elseif ( 'post_tag' == $taxonomy && current_user_can ( 'import' ) ) : ?>
2010-05-27 06:35:11 +02:00
< div class = " form-wrap " >
2012-07-05 22:06:19 +02:00
< p >< ? php printf ( __ ( 'Tags can be selectively converted to categories using the <a href="%s">tag to category converter</a>.' ), 'import.php' ) ; ?> </p>
2010-02-27 05:04:36 +01:00
</ div >
< ? php endif ;
2013-11-20 00:16:10 +01:00
/**
* Fires after the taxonomy list table .
*
* The dynamic portion of the hook name , $taxonomy , refers to the taxonomy slug .
*
* @ since 3.0 . 0
*
* @ param string $taxonomy The taxonomy name .
*/
do_action ( " after- { $taxonomy } -table " , $taxonomy );
2010-02-27 05:04:36 +01:00
?>
2010-02-13 04:08:16 +01:00
2008-10-25 10:01:37 +02:00
</ div >
</ div ><!-- / col - right -->
< div id = " col-left " >
< div class = " col-wrap " >
2008-10-25 22:55:40 +02:00
2008-12-09 19:03:31 +01:00
< ? php
2010-02-15 10:05:56 +01:00
2010-08-11 23:54:51 +02:00
if ( ! is_null ( $tax -> labels -> popular_items ) ) {
2010-06-04 21:18:09 +02:00
if ( current_user_can ( $tax -> cap -> edit_terms ) )
2014-03-25 19:40:15 +01:00
$tag_cloud = wp_tag_cloud ( array ( 'taxonomy' => $taxonomy , 'post_type' => $post_type , 'echo' => false , 'link' => 'edit' ) );
2010-06-04 21:18:09 +02:00
else
$tag_cloud = wp_tag_cloud ( array ( 'taxonomy' => $taxonomy , 'echo' => false ) );
if ( $tag_cloud ) :
?>
2010-02-15 10:05:56 +01:00
< div class = " tagcloud " >
2010-05-14 02:34:04 +02:00
< h3 >< ? php echo $tax -> labels -> popular_items ; ?> </h3>
2010-02-15 10:05:56 +01:00
< ? php echo $tag_cloud ; unset ( $tag_cloud ); ?>
2008-10-25 22:55:40 +02:00
</ div >
2010-02-13 04:08:16 +01:00
< ? php
2010-02-15 10:05:56 +01:00
endif ;
2010-06-04 21:18:09 +02:00
}
2010-02-15 10:05:56 +01:00
2010-05-13 06:10:17 +02:00
if ( current_user_can ( $tax -> cap -> edit_terms ) ) {
2013-11-20 00:16:10 +01:00
if ( 'category' == $taxonomy ) {
/**
* Fires before the Add Category form .
*
* @ since 2.1 . 0
* @ deprecated 3.0 . 0 Use { $taxonomy } _pre_add_form instead .
*
* @ param object $arg Optional arguments cast to an object .
*/
do_action ( 'add_category_form_pre' , ( object ) array ( 'parent' => 0 ) );
} elseif ( 'link_category' == $taxonomy ) {
/**
* Fires before the link category form .
*
* @ since 2.3 . 0
* @ deprecated 3.0 . 0 Use { $taxonomy } _pre_add_form instead .
*
* @ param object $arg Optional arguments cast to an object .
*/
do_action ( 'add_link_category_form_pre' , ( object ) array ( 'parent' => 0 ) );
} else {
/**
* Fires before the Add Tag form .
*
* @ since 2.5 . 0
* @ deprecated 3.0 . 0 Use { $taxonomy } _pre_add_form instead .
*
* @ param string $taxonomy The taxonomy slug .
*/
do_action ( 'add_tag_form_pre' , $taxonomy );
}
2010-10-16 15:26:54 +02:00
2013-11-20 00:16:10 +01:00
/**
* Fires before the Add Term form for all taxonomies .
*
* The dynamic portion of the hook name , $taxonomy , refers to the taxonomy slug .
*
* @ since 3.0 . 0
*
* @ param string $taxonomy The taxonomy slug .
*/
do_action ( " { $taxonomy } _pre_add_form " , $taxonomy );
2010-02-04 11:51:58 +01:00
?>
2008-10-25 10:01:37 +02:00
2008-10-25 22:55:40 +02:00
< div class = " form-wrap " >
2010-05-14 02:34:04 +02:00
< h3 >< ? php echo $tax -> labels -> add_new_item ; ?> </h3>
2013-11-20 00:16:10 +01:00
< ? php
/**
* Fires at the beginning of the Add Tag form .
*
* The dynamic portion of the hook name , $taxonomy , refers to the taxonomy slug .
*
2013-11-23 22:18:10 +01:00
* @ since 3.7 . 0
2013-11-20 00:16:10 +01:00
*/
?>
< form id = " addtag " method = " post " action = " edit-tags.php " class = " validate " < ? php do_action ( " { $taxonomy } _term_new_form_tag " ); ?> >
2009-12-18 07:30:16 +01:00
< input type = " hidden " name = " action " value = " add-tag " />
2010-06-09 18:52:25 +02:00
< input type = " hidden " name = " screen " value = " <?php echo esc_attr( $current_screen->id ); ?> " />
2009-05-05 21:43:53 +02:00
< input type = " hidden " name = " taxonomy " value = " <?php echo esc_attr( $taxonomy ); ?> " />
2010-06-27 03:05:53 +02:00
< input type = " hidden " name = " post_type " value = " <?php echo esc_attr( $post_type ); ?> " />
2011-05-24 01:33:30 +02:00
< ? php wp_nonce_field ( 'add-tag' , '_wpnonce_add-tag' ); ?>
2008-10-25 10:01:37 +02:00
2014-10-02 02:29:16 +02:00
< div class = " form-field form-required term-name-wrap " >
2014-10-02 22:01:16 +02:00
< label for = " tag-name " >< ? php _ex ( 'Name' , 'term name' ); ?> </label>
2009-07-01 10:12:39 +02:00
< input name = " tag-name " id = " tag-name " type = " text " value = " " size = " 40 " aria - required = " true " />
2010-02-13 04:08:16 +01:00
< p >< ? php _e ( 'The name is how it appears on your site.' ); ?> </p>
2008-10-25 10:01:37 +02:00
</ div >
2010-05-13 06:12:57 +02:00
< ? php if ( ! global_terms_enabled () ) : ?>
2014-10-02 02:29:16 +02:00
< div class = " form-field term-slug-wrap " >
2014-10-02 22:01:16 +02:00
< label for = " tag-slug " >< ? php _e ( 'Slug' ); ?> </label>
2010-03-28 03:42:34 +02:00
< input name = " slug " id = " tag-slug " type = " text " value = " " size = " 40 " />
2009-03-13 06:24:20 +01:00
< p >< ? 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>
2008-10-25 22:55:40 +02:00
</ div >
2010-10-28 08:52:33 +02:00
< ? php endif ; // global_terms_enabled() ?>
2010-02-13 04:08:16 +01:00
< ? php if ( is_taxonomy_hierarchical ( $taxonomy ) ) : ?>
2014-10-02 02:29:16 +02:00
< div class = " form-field term-parent-wrap " >
2014-10-02 22:01:16 +02:00
< label for = " parent " >< ? php _ex ( 'Parent' , 'term parent' ); ?> </label>
2013-08-26 19:31:09 +02:00
< ? php
$dropdown_args = array (
'hide_empty' => 0 ,
'hide_if_empty' => false ,
'taxonomy' => $taxonomy ,
'name' => 'parent' ,
'orderby' => 'name' ,
'hierarchical' => true ,
'show_option_none' => __ ( 'None' ),
);
2013-11-20 00:16:10 +01:00
/**
* Filter the taxonomy parent drop - down on the Edit Term page .
*
* @ since 3.7 . 0
*
* @ param array $dropdown_args {
* An array of taxonomy parent drop - down arguments .
*
* @ type int | bool $hide_empty Whether to hide terms not attached to any posts . Default 0 | false .
* @ type bool $hide_if_empty Whether to hide the drop - down if no terms exist . Default false .
* @ type string $taxonomy The taxonomy slug .
* @ type string $name Value of the name attribute to use for the drop - down select element .
* Default 'parent' .
* @ type string $orderby The field to order by . Default 'name' .
* @ type bool $hierarchical Whether the taxonomy is hierarchical . Default true .
* @ type string $show_option_none Label to display if there are no terms . Default 'None' .
* }
* @ param string $taxonomy The taxonomy slug .
*/
2013-08-26 19:31:09 +02:00
$dropdown_args = apply_filters ( 'taxonomy_parent_dropdown_args' , $dropdown_args , $taxonomy );
wp_dropdown_categories ( $dropdown_args );
?>
2010-02-13 04:08:16 +01:00
< ? php if ( 'category' == $taxonomy ) : // @todo: Generic text for hierarchical taxonomies ?>
< p >< ? 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 endif ; ?>
2010-01-24 12:00:27 +01:00
</ div >
2010-02-13 04:08:16 +01:00
< ? php endif ; // is_taxonomy_hierarchical() ?>
2014-10-02 02:29:16 +02:00
< div class = " form-field term-description-wrap " >
2014-10-02 22:01:16 +02:00
< label for = " tag-description " >< ? php _e ( 'Description' ); ?> </label>
2010-03-28 03:42:34 +02:00
< textarea name = " description " id = " tag-description " rows = " 5 " cols = " 40 " ></ textarea >
2010-01-24 03:07:13 +01:00
< p >< ? php _e ( 'The description is not prominent by default; however, some themes may show it.' ); ?> </p>
2009-04-09 18:00:40 +02:00
</ div >
2010-02-10 18:43:29 +01:00
< ? php
2013-11-20 00:16:10 +01:00
if ( ! is_taxonomy_hierarchical ( $taxonomy ) ) {
/**
* Fires after the Add Tag form fields for non - hierarchical taxonomies .
*
* @ since 3.0 . 0
*
* @ param string $taxonomy The taxonomy slug .
*/
do_action ( 'add_tag_form_fields' , $taxonomy );
}
/**
* Fires after the Add Term form fields for hierarchical taxonomies .
*
* The dynamic portion of the hook name , $taxonomy , refers to the taxonomy slug .
*
* @ since 3.0 . 0
*
* @ param string $taxonomy The taxonomy slug .
*/
do_action ( " { $taxonomy } _add_form_fields " , $taxonomy );
2010-10-28 23:56:43 +02:00
2012-07-30 20:41:42 +02:00
submit_button ( $tax -> labels -> add_new_item );
2010-10-28 23:56:43 +02:00
2013-11-20 00:16:10 +01:00
if ( 'category' == $taxonomy ) {
/**
* Fires at the end of the Edit Category form .
*
* @ since 2.1 . 0
* @ deprecated 3.0 . 0 Use { $taxonomy } _add_form instead .
*
* @ param object $arg Optional arguments cast to an object .
*/
do_action ( 'edit_category_form' , ( object ) array ( 'parent' => 0 ) );
} elseif ( 'link_category' == $taxonomy ) {
/**
* Fires at the end of the Edit Link form .
*
* @ since 2.3 . 0
* @ deprecated 3.0 . 0 Use { $taxonomy } _add_form instead .
*
* @ param object $arg Optional arguments cast to an object .
*/
do_action ( 'edit_link_category_form' , ( object ) array ( 'parent' => 0 ) );
} else {
/**
* Fires at the end of the Add Tag form .
*
* @ since 2.7 . 0
* @ deprecated 3.0 . 0 Use { $taxonomy } _add_form instead .
*
* @ param string $taxonomy The taxonomy slug .
*/
do_action ( 'add_tag_form' , $taxonomy );
}
2010-10-16 15:26:54 +02:00
2013-11-20 00:16:10 +01:00
/**
* Fires at the end of the Add Term form for all taxonomies .
*
* The dynamic portion of the hook name , $taxonomy , refers to the taxonomy slug .
*
* @ since 3.0 . 0
*
* @ param string $taxonomy The taxonomy slug .
*/
do_action ( " { $taxonomy } _add_form " , $taxonomy );
2010-02-04 11:51:58 +01:00
?>
2008-10-25 22:55:40 +02:00
</ form ></ div >
< ? php } ?>
2008-01-25 20:29:01 +01:00
2008-10-25 10:01:37 +02:00
</ div >
</ div ><!-- / col - left -->
2008-01-25 20:29:01 +01:00
2008-10-25 10:01:37 +02:00
</ div ><!-- / col - container -->
</ div ><!-- / wrap -->
2012-07-24 02:15:15 +02:00
< script type = " text/javascript " >
try { document . forms . addtag [ 'tag-name' ] . focus ();} catch ( e ){}
</ script >
2008-01-25 20:29:01 +01:00
< ? php
2014-09-29 06:54:16 +02:00
$wp_list_table -> inline_edit ();
2008-01-25 20:29:01 +01:00
2013-09-25 02:18:11 +02:00
include ( ABSPATH . 'wp-admin/admin-footer.php' );