web-dev-qa-db-fra.com

Afficher uniquement les images et les vidéos dans une fenêtre wp.media

J'utilise le code JS suivant pour ouvrir une fenêtre wp.media afin de permettre aux utilisateurs de sélectionner des images et des vidéos pour une galerie. Tout fonctionne comme prévu, mais je ne parviens pas à limiter la fenêtre d'affichage aux images et aux vidéos, elle affiche tout.

Des idées sur ce qui pourrait être faux?

Merci d'avance

JS:

$( '#add_item' ).on( 'click', function( e ) {
    var $el = $( this );

    e.preventDefault();

    // If the media frame already exists, reopen it.
    if ( items_frame ) {
        items_frame.open();
        return;
    }

    // Create the media frame.
    items_frame = wp.media.frames.items = wp.media({
        title: 'Add to Gallery',
        button: {
            text: 'Select'
        },
        states: [
            new wp.media.controller.Library({
                title: 'Add to Gallery',
                filterable: 'all',
                type: ['image', 'video'],
                multiple: true
            })
        ]
    });

    // Finally, open the modal.
    items_frame.open();

});
3
leemon

Cette question a été posée il y a longtemps, mais vous cherchez toujours une solution:

items_frame = wp.media.frames.items = wp.media({
    title: 'Add to Gallery',
    button: {
        text: 'Select'
    },
    library: {
            type: [ 'video', 'image' ]
    },
});
9
user433351

Avec un peu plus de recherche, j'ai découvert que vous pouvez spécifier le type de fichier exact dans la propriété library . Cela peut s'avérer utile lors de la création d'un plugin où seuls certains fichiers sont autorisés.

var frame = wp.media({
        title: 'Insert movie',
        library: {type: 'video/MP4'},
        multiple: false,
        button: {text: 'Insert'}
    });

Malheureusement, il ne semble exister aucune liste spécifiant quelles valeurs fonctionnent pour une extension donnée.

1
Sark Peha