Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I am using Wordpress Media Upload (< 3.5) and Media Manager (>=3.5) in metabox as an upload field, and need to customize the menu so that they only have upload and media library functionality without "From URL"/"Insert From URL" and "Create Gallery". So I need to remove them.

I can't use Wordpress filter such as mentioned in this solution, since I am using it in metabox, which is exists in Wordpress new post page that already has "add media" functionality and will be broken if I use such filter.

Is there any solutions via Javascript or any other methods?

Thanks in advance.

share|improve this question
add comment

1 Answer

I found that the following worked best... when you click "Add Featured Image" from the editor page (the metabox link), the options for "insert into post" and all of the options you mention are missing from the media manager. This was perfect for me, as I wanted to remove the option for users to insert images into posts. If this is what you're after, put this code in your theme's functions.php file...

/**
* 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);
}

Users will now only be able to add images by clicking on the link in the meta box, which is now named "Add Images." Additionally, the link within the meta box has been changed to avoid confusion. Hope this helps!

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.