Taxonomy: Add a "delete" button on term edit page.

Add a 'delete' link next to the update button on the term edit screen so you can delete a term while you are reviewing it's details. 

Props cklosows, bradt, ocean90, johnbillion, DrewAPicture, ryan, MatheusGimenez, maguiar.
Fixes #9777.



git-svn-id: https://develop.svn.wordpress.org/trunk@40655 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Adam Silverstein 2017-05-12 19:25:43 +00:00
parent 89ef4c2123
commit c21b828581
6 changed files with 58 additions and 6 deletions

View File

@ -874,7 +874,8 @@ hr {
.submitbox .submitdelete, .submitbox .submitdelete,
#media-items a.delete, #media-items a.delete,
#media-items a.delete-permanently, #media-items a.delete-permanently,
#nav-menu-footer .menu-delete { #nav-menu-footer .menu-delete,
#delete-link a.delete {
color: #a00; color: #a00;
} }
@ -890,7 +891,8 @@ span.required,
.submitbox .submitdelete:hover, .submitbox .submitdelete:hover,
#media-items a.delete:hover, #media-items a.delete:hover,
#media-items a.delete-permanently:hover, #media-items a.delete-permanently:hover,
#nav-menu-footer .menu-delete:hover { #nav-menu-footer .menu-delete:hover,
#delete-link a.delete:hover {
color: #dc3232; color: #dc3232;
border: none; border: none;
} }
@ -911,6 +913,17 @@ span.required,
line-height: 28px; line-height: 28px;
} }
#delete-link {
line-height: 28px;
vertical-align: middle;
text-align: left;
margin-left: 8px;
}
#delete-link a {
text-decoration: none;
}
#publishing-action { #publishing-action {
text-align: right; text-align: right;
float: right; float: right;

View File

@ -1092,6 +1092,17 @@ p.popular-tags a {
text-decoration: underline; text-decoration: underline;
} }
#edittag {
max-width: 800px;
}
.edit-tag-actions {
margin-top: 20px;
overflow: hidden;
padding: 10px;
margin-right: 10px;
}
/* Comments */ /* Comments */
.comment-php .wp-editor-area { .comment-php .wp-editor-area {
@ -1348,6 +1359,10 @@ table.links-table {
} }
@media screen and ( max-width: 782px ) { @media screen and ( max-width: 782px ) {
.wp-core-ui .edit-tag-actions .button-primary {
margin-bottom: 0;
}
#post-body-content { #post-body-content {
min-width: 0; min-width: 0;
} }

View File

@ -254,9 +254,20 @@ if ( 'category' == $taxonomy ) {
* @param string $taxonomy Current taxonomy slug. * @param string $taxonomy Current taxonomy slug.
*/ */
do_action( "{$taxonomy}_edit_form", $tag, $taxonomy ); 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> </form>
</div> </div>

View File

@ -65,7 +65,6 @@ if ( ! $referer ) { // For POST requests.
$referer = wp_unslash( $_SERVER['REQUEST_URI'] ); $referer = wp_unslash( $_SERVER['REQUEST_URI'] );
} }
$referer = remove_query_arg( array( '_wp_http_referer', '_wpnonce', 'error', 'message', 'paged' ), $referer ); $referer = remove_query_arg( array( '_wp_http_referer', '_wpnonce', 'error', 'message', 'paged' ), $referer );
switch ( $wp_list_table->current_action() ) { switch ( $wp_list_table->current_action() ) {
case 'add-tag': case 'add-tag':
@ -107,6 +106,9 @@ case 'delete':
$location = add_query_arg( 'message', 2, $referer ); $location = add_query_arg( 'message', 2, $referer );
// When deleting a term, prevent the action from redirecting back to a term that no longer exists.
$location = remove_query_arg( array( 'tag_ID', 'action' ), $location );
break; break;
case 'bulk-delete': case 'bulk-delete':

View File

@ -28,6 +28,17 @@ jQuery(document).ready(function($) {
return false; return false;
}); });
$( '#edittag' ).on( 'click', '.delete', function( e ) {
if ( 'undefined' === typeof showNotice ) {
return true;
}
var response = showNotice.warn();
if ( ! response ) {
e.preventDefault();
}
});
$('#submit').click(function(){ $('#submit').click(function(){
var form = $(this).parents('form'); var form = $(this).parents('form');

View File

@ -62,7 +62,7 @@ get_current_screen()->set_screen_reader_content( array(
'heading_pagination' => $tax->labels->items_list_navigation, 'heading_pagination' => $tax->labels->items_list_navigation,
'heading_list' => $tax->labels->items_list, 'heading_list' => $tax->labels->items_list,
) ); ) );
wp_enqueue_script( 'admin-tags' );
require_once( ABSPATH . 'wp-admin/admin-header.php' ); require_once( ABSPATH . 'wp-admin/admin-header.php' );
include( ABSPATH . 'wp-admin/edit-tag-form.php' ); include( ABSPATH . 'wp-admin/edit-tag-form.php' );
include( ABSPATH . 'wp-admin/admin-footer.php' ); include( ABSPATH . 'wp-admin/admin-footer.php' );