Próbuję dowiedzieć się, jak można „odświeżyć” bibliotekę multimediów w nowym dialogu mediów w 3.5. Dodaję obrazy z zewnętrznej biblioteki obrazów do biblioteki WordPress (za pomocą kombinacji tab / iFrame w oknie dialogowym mediów), co działa dobrze, ale muszę zamknąć i ponownie otworzyć okno dialogowe, aby wyświetlić nowo dodane obrazy (które mają pomyślnie dodany do biblioteki).
Wiem, że istnieją wp.media.editor.open()
i wp.media.editor.close()
metody, ale nie jestem w stanie znaleźć sort()
ani jednego refresh()
(ani nic innego) w źródle. Prawdę mówiąc, kod źródłowy jest dość intensywny i console.log
najwyraźniej nie pomaga w backbone.js. Jakieś pomysły?
uploads
javascript
media-library
media-modal
Richard Sweeney
źródło
źródło
wp.media.featuredImage.frame().views.get('.media-frame-content')[0].views.get("")[3].collection.length
ale ustawienie tej długości na 0 nic nie robi.Odpowiedzi:
Prawidłowy sposób odświeżania zawartości ramki, jaki znajduje się w rdzeniu WP, jest następujący:
Zawsze należy sprawdzić, czy zawartość jest dostępna, w przeciwnym razie odśwież bibliotekę.
Twoje zdrowie!
źródło
wp.media.featuredImage.frame().options.selection.reset
, że istnieje, ale nie mawp.media.featuredImage.frame().collection
na przykład.Zajęło mi to kilka dni, ale w końcu przekopałem się przez wystarczająco dużo rzeczy, aby to zrozumieć:
Wygląda na to, że musi istnieć łatwiejszy sposób, ale tymczasem to działa dla mnie!
źródło
wp.media.frame.content.get('gallery').collection.props.set({ignore: (+ new Date())});
w tym przypadku odświeżamgallery
kartę.media-frame-content
klucz zmienił się z 1 na 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())});
Aktualizacja 2019 Znalazłem lepsze rozwiązanie, które nie psuje przesyłającego:
źródło
czy tego szukasz?
źródło