web-dev-qa-db-fra.com

Désactiver la galerie dans l'iframe multimédia 3.5

Je crée un paramètre pour définir un logo. Cela fonctionne mais il y a un problème.
Je n'ai besoin que d'une image pour que l'élément de la galerie soit désactivé/masqué. Bien sûr, cela ne devrait affecter que cette page, encore mieux ce paramètre.

<?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' );

J'ai regardé à plusieurs endroits dans le code, mais je ne trouve aucun indice sur la façon de procéder.

MODIFIER
Je l'ai résolu d'une manière différente qui n'est pas liée à cela. La solution est maintenant implémentée dans mon premier plugin: http://wordpress.org/extend/plugins/default-featured-image/
prise éhontée.

2
janw

Vous pouvez désactiver les onglets à l'aide d'un crochet de filtre. Remplacez wpse_76095_isOurMediaUpload () par le fait que vous déterminez que vous exécutez la fenêtre contextuelle de média.

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
webaware

Je n’ai pas reproduit les détails de la Q. Mais les travaux suivants ont pour but de désactiver le Create Gallery lien depuis la nouvelle interface média:

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: Je viens de découvrir le one dans jQuery, Nice one;)

remove gallery from new media uploader

2
brasofilo