Я пытаюсь выяснить, как можно «обновить» медиа-библиотеку в новом медиа-диалоге в 3.5. Я добавляю изображения из внешней библиотеки изображений в библиотеку WordPress (через комбо tab / iFrame в диалоге мультимедиа), которая работает нормально, но мне нужно закрыть и снова открыть диалог, чтобы показать вновь добавленные изображения (которые имеют успешно добавлен в библиотеку).
Я знаю, что есть wp.media.editor.open()
и wp.media.editor.close()
методы, но мне не удается найти sort()
или refresh()
(или что-то еще) в источнике. По правде говоря, исходный код довольно интенсивно читается и console.log
, похоже, не очень помогает с backbone.js. Любые идеи?
uploads
javascript
media-library
media-modal
Ричард Суини
источник
источник
wp.media.featuredImage.frame().views.get('.media-frame-content')[0].views.get("")[3].collection.length
но установка этой длины в 0 ничего не делает.Ответы:
Правильный способ обновления содержимого фрейма, как указано в ядре WP, приведен ниже:
Вы должны всегда проверять доступность контента, иначе обновите библиотеку.
Ура!
источник
wp.media.featuredImage.frame().options.selection.reset
существует, но нет,wp.media.featuredImage.frame().collection
например.Это заняло у меня пару дней, но я наконец перекопал достаточно вещей, чтобы понять это:
Похоже, что должен быть более легкий путь, но это пока работает для меня!
источник
wp.media.frame.content.get('gallery').collection.props.set({ignore: (+ new Date())});
в этом случае я обновляюgallery
вкладку.media-frame-content
ключ изменился с 1 на 2:wp.media.editor.get(wpActiveEditor).views._views[".media-frame-content"][0].views._views[""][2].collection.props.set({ignore:(+(new Date()))})
wp.media.frame.content.get().collection.props.set({ignore: (+ new Date())});
2019 обновление. Я нашел лучшее решение, которое не сломает загрузчик:
источник
это то, что вы ищете
источник