Czy podczas wstawiania multimediów do postu można zmienić domyślny widok Biblioteki multimediów z „Wszystkie elementy multimedialne” na „Przesłano do tego postu”?
Jest inny wątek, z którego pochodzi to pytanie: Jak zarządzać relacjami między załącznikami
media-library
div
źródło
źródło
Odpowiedzi:
W mojej poprzedniej odpowiedzi były dwa drobne błędy:
change
zdarzenia dla rodzica.Oto poprawiony kod:
źródło
Add Media
przycisku, ale nie po kliknięciu przyciskuSet featured image
. Czy istnieje sposób, aby tam też działał?wp.media.view.UploaderWindow.prototype.on('ready',function() {console.log(jQuery('.media-modal-content'))...your code here...});
byłoby bardziej odpowiednie.Jedyny problem z JS powyżej, który przełącza pole wyboru, aby wywołać zmianę po załadowaniu strony i po rozpoczęciu pobierania WSZYSTKICH POZYCJI MEDIALNYCH. Dla mojego klienta na wolnym T1 to się zamknęło, ponieważ pobierało zarówno WSZYSTKIE CZASY MEDIALNE, jak i PRZESŁANE DO TEGO POSTU.
Miałem trochę pomocy od wspaniałego Sewpafly, który opracowuje wtyczkę Post Thumbnail Editor . udostępnił świetny fragment JS, który domyślnie zapobiega ładowaniu WSZYSTKICH POZYCJI MEDIOWYCH i zmusza go do ładowania tylko obrazów „WYSŁANE DO TEGO POSTU”.
Kod
Plik: myadmin.js
Plik: funkcje.php
Ten sam kod na GitHub: https://gist.github.com/fishnyc22/5593693
Upuściłem to do pliku JS i wywołałem go w functions.php za pomocą skryptów admin_enqueue_scripts. Zobacz GIST powyżej dla PHP i JS.
Działa doskonale. Mam nadzieję, że świetni ludzie WordPressa naprawią to w nadchodzącej aktualizacji, ale na razie Sewpafly ma najlepsze rozwiązanie, jakie znalazłem. Jeszcze raz dziękuję kolego.
Powinienem zauważyć, że właśnie odkryłem, że przeglądarka domyślnie ma obrazy ŚREDNIEJ wielkości, które wyłączyłem (ustawiono na 0,0), ponieważ nie używałem i nie zapobiegałem wzdęciom. Gdy średni rozmiar nie jest dostępny, wordpress ładuje obraz PEŁNY rozmiar. Od tego czasu podałem włączony średni rozmiar.
źródło
@ toscho Ach, znalazłem błąd w twoim kodzie. Proszę zostań ze mną. Wykonaj dokładnie następujące czynności, aby odtworzyć problem:
1) Otwórz wersję roboczą.
2) Kliknij
Add Media
przycisk. Poczekaj na załadowanie funkcji jQuery.3) Po lewej stronie kliknij
Set Featured Image
link.4) Teraz zamknij okno wyskakujące Media i na stronie edycji postów kliknij
Set featured image
link na prawym pasku bocznym.5) Zobaczysz, że funkcja jQuery nie będzie działać.
Jednak gdybyś kliknął
Set featured image
link najpierw przy ładowaniu po edycji, funkcja działałaby. Czy możesz powtórzyć ten problem i ewentualnie znaleźć rozwiązanie? Jeszcze raz przepraszam za opublikowanie tego jako odpowiedzi, ale ta platforma nie oferuje mi obecnie lepszej opcji.EDYCJA: Czy ktoś może powiadomić toscho o tym. Możesz to zrobić, dodając komentarz do jego odpowiedzi, który moim zdaniem powinien dać mu powiadomienie. Nie mogę pisać komentarzy, ponieważ nie mam wystarczającej reputacji ...
EDYCJA 2 : Jeśli chcesz desperacko uniknąć tego problemu, możesz usunąć link „Ustaw polecany obraz” w wyskakującym okienku i zmusić użytkownika do korzystania z linku na pasku bocznym (podobnie jak wersje WP wcześniejsze niż 3.5). Użyj tego filtra, który został wprowadzony w WP 3.5:
Jak powiedziałem, jest to desperacka poprawka, dopóki nie zostanie opublikowane rozwiązanie dla głównego kodu.
źródło
Najważniejsze, że nie podobało mi się większość tych rozwiązań, to że migało na wielu ekranach, a jeśli klikniesz Wyróżniony obraz , wróci do wyświetlania wszystkich obrazów. Po kilku poszukiwaniach myślę, że znalazłem trwałe rozwiązanie (dzięki Ünsal Korkmaz ), które wygląda jakby rozwiązało te problemy. Kod:
co na stałe ustawia bibliotekę multimediów, aby wyświetlała tylko „Przesłano do tego postu”, nawet jeśli spróbujesz zmienić widok, co oznacza brak mrugania.
Dodałem ten kod, aby mu towarzyszyć, aby całkowicie usunąć pole wyboru:
źródło
Nowe wersje wordpress używają innego podejścia (zaawansowane Backbonejs ) do programu do przesyłania mediów; Sprawdź kod z tej wtyczki, ponieważ działa ona dla nowych wersji WordPress.
źródło
To są moje rozwiązania, które należy ustawić
dateFilter
na bieżący miesiąc, chociaż uruchamia AJAX dwukrotnie.źródło