Remova a guia de mídia “De computador” para postagens com anexos existentes?

Ao editar os anexos de uma publicação com pelo menos um anexo previamente carregado, como faço para remover a guia De computador e redirect para a guia Galeria ?

Este é o meu código atual:

add_filter('media_upload_tabs','remove_medialibrary_tabs', 99); function remove_medialibrary_tabs($tabs) { if ($post_id = (isset($_REQUEST['post_id']) ? $_REQUEST['post_id'] : false)) { if (count(get_posts("post_type=attachment&post_parent={$post_id}"))>0) { // MY QUESTION } } unset($tabs['type_url']); unset($tabs['library']); return $tabs; } 

Solutions Collecting From Web of "Remova a guia de mídia “De computador” para postagens com anexos existentes?"

Para remover o header da guia Computador de Computador , você destrói a chave de type dessa matriz . No entanto, isso (sem confusão) não removerá o conteúdo da aba, e porque esta é a guia padrão, ela irá mostrar isso mesmo se o header da guia for desaparecido.

Para alterar a guia padrão, você deve se conectar ao filtro media_upload_default_tab . Isso é chamado em vários lugares, não investigue qual é chamado em quais circunstâncias, então mudei o cheque de anexos para uma function separada e reescrevi seu código como este:

 add_filter('media_upload_tabs','wpse13567_media_upload_tabs', 99); function wpse13567_media_upload_tabs( $tabs ) { if ( wpse13567_post_has_attachments() ) { unset( $tabs['type'] ); } unset( $tabs['type_url'] ); unset( $tabs['library'] ); return $tabs; } add_filter( 'media_upload_default_tab', 'wpse13567_media_upload_default_tab' ); function wpse13567_media_upload_default_tab( $tab ) { if ( wpse13567_post_has_attachments() ) { return 'gallery'; } return $tab; } function wpse13567_post_has_attachments() { static $post_has_attachments = null; if ( null === $post_has_attachments && $post_id = (isset($_REQUEST['post_id']) ? $_REQUEST['post_id'] : false) ) { $post_has_attachments = count(get_posts("post_type=attachment&post_parent={$post_id}"))>0; } return $post_has_attachments; }