удалить вложение с переднего плана
Вошел в систему как администратор и пытается написать код, который удаляет записи, чтобы удалить вложение.
Есть,
<?php if (current_user_can('edit_post', $attachment->ID))
echo "<a href='" . wp_nonce_url("/wp-admin/post.php?action=delete&post=".$attachment->ID."", 'delete-post_' . $attachment->ID) . "'>Delete</a>" ?>
Но это просто приводит меня на страницу, на которой написано;
Ты уверен, что хочешь это сделать? Пожалуйста, попробуйте еще раз.
И пожалуйста, попробуйте еще раз ссылки на сообщение...
Это как-то связано с удалением-post_
Лучший, Дэн.
4
1 answers
В конце концов пришлось использовать ajax...
Html;
<a class="remImage" name="<?php echo $attachment->ID; ?>" href="#"><?php _e('delete');?></a> <input type="hidden" id="att_remove" name="att_remove[]" value="<?php echo $attachment->ID; ?>" />
<input type="hidden" name="nonce" id="nonce" value="<?php echo wp_create_nonce( 'delete_attachment' ); ?>" />
Jquery
$('.remImage').live('click', function() {
var attID = jQuery(this).attr('name');
jQuery.ajax({
type: 'post',
url: '/wp-admin/admin-ajax.php',
data: {
action: 'delete_attachment',
att_ID: jQuery(this).attr('name'),
_ajax_nonce: jQuery('#nonce').val(),
post_type: 'attachment'
},
success: function() {
console.log('#file-'+attID)
$('#file-'+attID).fadeOut();
}
});
В functions.php
add_action( 'wp_ajax_delete_attachment', 'delete_attachment' );
function delete_attachment( $post ) {
//echo $_POST['att_ID'];
$msg = 'Attachment ID [' . $_POST['att_ID'] . '] has been deleted!';
if( wp_delete_attachment( $_POST['att_ID'], true )) {
echo $msg;
}
die();
}
2
Author: v3nt, 2011-12-16 12:02:41