J'essaie de comprendre comment il est possible "d'actualiser" la bibliothèque multimédia dans le nouveau dialogue multimédia dans la section 3.5. J'ajoute des images d'une bibliothèque d'images externe à la bibliothèque WordPress (via un onglet/combo iFrame dans le dialogue multimédia), ce qui fonctionne correctement, mais je dois fermer et rouvrir le dialogue pour afficher les images récemment ajoutées (qui ont été ajouté avec succès à la bibliothèque).
Je sais qu'il existe des méthodes wp.media.editor.open()
et wp.media.editor.close()
, mais je ne parviens pas à trouver une fonction sort()
ou refresh()
(ou autre) dans la source. À vrai dire, le code source est une lecture assez intense et console.log
n'aide apparemment pas grand chose avec backbone.js. Des idées?
La manière correcte d'actualiser le contenu du cadre, telle qu'elle est trouvée dans le noyau WP, est la suivante:
if(wp.media.frame.content.get()!==null){
wp.media.frame.content.get().collection.props.set({ignore: (+ new Date())});
wp.media.frame.content.get().options.selection.reset();
}else{
wp.media.frame.library.props.set({ignore: (+ new Date())});
}
Vous devez toujours vérifier que le contenu est disponible, sinon actualisez la bibliothèque.
À votre santé!
Cela m'a pris quelques jours, mais j'ai finalement creusé suffisamment le chemin pour comprendre:
wp.media.editor.get(wpActiveEditor).views._views[".media-frame-content"][0].views._views[""][1].collection.props.set({ignore:(+(new Date()))})
On dirait qu'il doit y avoir un moyen plus facile mais ça marche pour moi en attendant!
Mise à jour 2019. J'ai trouvé une meilleure solution qui ne casse pas le téléchargeur:
wp.media.frame.on('open', function() {
if (wp.media.frame.content.get() !== null) {
// this forces a refresh of the content
wp.media.frame.content.get().collection._requery(true);
// optional: reset selection
wp.media.frame.content.get().options.selection.reset();
}
}, this);
est-ce ce que vous cherchez
wp.media.editor.remove('content');
wp.media.editor.add('content');