Disable gallery in 3.5 media iframe

I’m creating a setting to set a logo. It works but there is a problem.
I only need one image to be set so the gallery item should be disabled / hidden. Of course this should only effect this page, of even better this setting.

<?php
// above this I do a simple settings api
?>
<input id="set_logo" type="text" size="100" name="set_logo" value="<?php echo esc_attr( $value ); ?>" />
<?php
do_action( 'media_buttons', 'set_logo' );

I’ve looked in multiple places in code but I can’t find any clues how to do this.

Read More

EDIT
I’ve solved it in a different way that is not related to this. The solution is now implemented in my first plugin: http://wordpress.org/extend/plugins/default-featured-image/
shameless plug.

Related posts

Leave a Reply

2 comments

  1. You can disable tabs using a filter hook. Replace wpse_76095_isOurMediaUpload() with however you determine that you’re running the media popup.

    add_filter('media_upload_tabs', 'wpse_76095_filterMediaUploadTabs');
    
    /**
    * filter out unwanted media upload tabs
    * @param array $tabs
    * @return array
    */
    function wpse_76095_filterMediaUploadTabs($tabs) {
        if (wpse_76095_isOurMediaUpload()) {
            unset(
                $tabs['type_url'],  // no linking from external sites (no local image)
                $tabs['gallery'],   // no galleries
                $tabs['nextgen']    // no NextGEN galleries
            );
        }
    
        return $tabs;
    }
    
  2. I didn’t reproduced the particulars of the Q. But the following works to disable the Create Gallery link from the new media interface:

    add_action( 'admin_footer-post-new.php', 'disable_media_gallery_wpse_76095' );
    add_action( 'admin_footer-post.php', 'disable_media_gallery_wpse_76095' );
    function disable_media_gallery_wpse_76095() 
    {
        ?>
        <script type="text/javascript">
        jQuery(document).ready( function($) {
            $(document.body).one( 'click', '.insert-media', function( event ) {
                $(".media-menu").find("a:contains('Gallery')").remove();
            });
        });
        </script>
        <?php
    }
    

    ps: I just discovered the one in jQuery, nice one 😉

    remove gallery from new media uploader