Existe-t-il un moyen simple de supprimer une image de l'éditeur de publication et de la bibliothèque multimédia?
Je ne sais pas s'il existe une solution de facilité, mais vous pouvez le faire pour atteindre les objectifs suivants:
Introduisez un admin js dans votre functions.php comme ceci:
//Admin JS
add_action('admin_init', 'custom_admin_js');
function custom_admin_js() {
wp_register_script( 'admin-js', get_stylesheet_directory_uri() . '/js/admin.js' );
wp_enqueue_script( 'admin-js' );
}
Le fichier js ira dans le thème que vous utilisez créez un autre dossier à l'intérieur de js appelé s'il n'existe pas et à l'intérieur du fichier js ce code:
jQuery(document).ready(function($){
setTimeout(function(){
var iframeBody = $('body', $('#content_ifr')[0].contentWindow.document);
$(iframeBody).on('click mousedown', 'img', function(event) {
var getThisClass = $(this).attr("class").match(/\d+$/)[0];
var putToThis = $('.mce-toolbar-grp').find($('div:last-child').attr('aria-label', 'Remove').find('button'));
$(putToThis).attr("att-id", getThisClass);
$(putToThis).attr("class", "remove-for-good");
});
}, 2000);
$(document).on("click", ".remove-for-good", function(){
var thisID = $(this).attr("att-id");
if (confirm('Warning! Remove from Media Also?.')) {
$.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'remove_for_good_att',
attid: thisID,
post_type: 'attachment'
},
success: function( html ) {
alert( "Sucessfully removed from media also." );
$(".media-modal .media-frame-content ul").find($("li.attachment[data-id='" + html + "']")).remove();
}
});
}
});
});
Enfin cette fonction pour effectuer un appel ajax, cela va aussi dans functions.php
function remove_for_good_att($post){
global $wpdb;
$att_id = $_POST['attid'];
//$ids = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} WHERE post_parent = $att_id AND post_type = 'attachment'");
//header( "Content-Type: application/json" );
if( current_user_can('administrator') ) {
wp_delete_attachment( $att_id, true );
print $att_id;
}
die();
}
add_action('wp_ajax_remove_for_good_att', 'remove_for_good_att');
Si c'est trop pour vous, vous pouvez télécharger un plugin créé à cet effet à partir de ce lien: https://github.com/mysticalghoul/Wordpress-Remove-image-attachment-from- éditeur
Veuillez utiliser la dernière version de Wordpress. Je l'ai testé sur 4.9 et ça marche
Laissez-moi savoir si cela fonctionne!