web-dev-qa-db-fra.com

Personnalisation du menu Media Upload Word et New Media Manager dans l’ajout ultérieur Metabox

J'utilise Wordpress Media Upload (<3.5) et Media Manager (> = 3.5) dans metabox en tant que champ de téléchargement. Je dois personnaliser le menu pour qu'ils disposent uniquement des fonctionnalités de téléchargement et de la bibliothèque multimédia sans "De l'URL"/"Insérer de". URL "et" Créer une galerie ". J'ai donc besoin de les enlever.

Je ne peux pas utiliser le filtre Wordpress tel que mentionné dans cette solution , car je l'utilise dans metabox, ce qui existe déjà dans la nouvelle page de publication de Wordpress a "ajouter des médias" fonctionnalité et sera cassé si j'utilise un tel filtre.

Existe-t-il des solutions via Javascript ou d'autres méthodes?

Merci d'avance.

1
ayublin

J'ai constaté que ce qui suit fonctionnait le mieux ... Lorsque vous cliquez sur "Ajouter une image sélectionnée" dans la page de l'éditeur (le lien metabox), les options "Insérer dans le message" et toutes les options que vous mentionnez sont manquantes dans le gestionnaire de médias. C'était parfait pour moi, car je voulais supprimer la possibilité pour les utilisateurs d'insérer des images dans des publications. Si c'est ce que vous recherchez, placez ce code dans le fichier functions.php de votre thème ...

/**
* Removes "image edit" option from Media Manager.
*/
add_action( 'admin_footer-post-new.php', 'wpse_76214_script' );
add_action( 'admin_footer-post.php', 'wpse_76214_script' );
function wpse_76214_script() {
?>
<script type="text/javascript">
jQuery(document).ready( function($) {
    $( 'li.attachment' ).live( 'click', function( event ) {
        $( '.media-sidebar a.edit-attachment' ).remove(); // remove edit image link
    });
} );
</script>
<?php
}

/**
* Removes "Add Media" Button from the editor.
*/
function z_remove_media_controls() {
remove_action( 'media_buttons', 'media_buttons' );
}
add_action('admin_head','z_remove_media_controls');

/**
* Takes over the "Featured Image" meta box and allows you to change its options.
*/
add_action('do_meta_boxes', 'change_image_box');
function change_image_box()
{
remove_meta_box( 'postimagediv', 'post', 'side' );
remove_meta_box( 'postimagediv', 'page', 'side' );
// if you have other post types, remove the meta box from them as well
// remove_meta_box( 'postimagediv', 'YOUR-POST-TYPE-HERE', 'side' );
add_meta_box('postimagediv', __('Add Images'), 'post_thumbnail_meta_box', 'post', 'side' );
add_meta_box('postimagediv', __('Add Images'), 'post_thumbnail_meta_box', 'page', 'side' );
// if you have other post types, add the new meta box for them as well
// add_meta_box('postimagediv', __('Add Images'), 'post_thumbnail_meta_box', 'YOUR-POST-TYPE-HERE', 'side' );
}

/**
* Renames Feature Image Link that appears inside meta box.
*/
add_action('admin_head-post-new.php',change_thumbnail_html);
add_action('admin_head-post.php',change_thumbnail_html);
function change_thumbnail_html( $content ) {
  add_filter('admin_post_thumbnail_html',do_thumb);
}
function do_thumb($content){
 return str_replace(__('Set featured image'), __('Add Images and Set Featured'),$content);
}

Les utilisateurs ne pourront désormais ajouter des images qu'en cliquant sur le lien dans la boîte de méta, qui s'appelle désormais "Ajouter des images". En outre, le lien dans la boîte à méta a été modifié pour éviter toute confusion. J'espère que cela t'aides!

2
Jon Masterson