Gibt es eine Möglichkeit, beim Einfügen von Medien in einen Beitrag die Standardansicht der Medienbibliothek von "Alle Medienelemente" in "In diesen Beitrag hochgeladen" zu ändern?
Es gibt einen anderen Thread, aus dem diese Frage extrahiert wurde: Wie man Anhangsbeziehungen verwaltet
media-library
div
quelle
quelle
Antworten:
In meiner vorherigen Antwort gab es zwei kleine Fehler:
change
Ereignis für die Eltern auszulösen .Hier ist der feste Code:
quelle
Add Media
Schaltfläche klicken , nicht jedoch, wenn Sie auf die Schaltfläche klickenSet featured image
. Gibt es eine Möglichkeit, es auch dort zum Laufen zu bringen?wp.media.view.UploaderWindow.prototype.on('ready',function() {console.log(jQuery('.media-modal-content'))...your code here...});
möchten, ist dies sinnvoller.Das einzige Problem mit dem obigen JS ist, dass es das Auswahlfeld umschaltet, um die Änderung auszulösen, nachdem die Seite geladen wurde und nachdem bereits begonnen wurde, ALLE MEDIEN-EINZELTEILE herunterzuladen. Für meinen Client auf einem langsamen T1 wurde dies blockiert, da sowohl die ALL MEDIA TIMES- als auch die AUF DIESEN POST HOCHGELADENEN Elemente zusammen heruntergeladen wurden.
Ich hatte Hilfe von dem großartigen Sewpafly, der das Post Thumbnail Editor Plugin entwickelt. Er hat ein großartiges Stück JS geteilt, das das Laden von ALLEN MEDIA-EINZELTEILEN verhindert und es zwingt, standardmäßig nur Bilder zu laden, die "AUF DIESEN POST HOCHGELADEN" sind.
Der Code
Datei: myadmin.js
Datei: functions.php
Derselbe Code auf GitHub: https://gist.github.com/fishnyc22/5593693
Ich habe das in eine JS-Datei gelegt und in functions.php mit den admin_enqueue_scripts aufgerufen. Siehe GIST oben für PHP und JS.
Funktioniert hervorragend. Hoffentlich beheben die guten WordPress-Leute dies in einem kommenden Update, aber Sewpafly hat vorerst die beste Lösung, die ich gefunden habe. Nochmals vielen Dank Kumpel.
Ich sollte beachten, dass ich gerade herausgefunden habe, dass der Viewer standardmäßig Bilder mittlerer Größe anzeigt, die ich deaktiviert hatte (auf 0,0 eingestellt), da ich kein Aufblähen verwendet und verhindert hatte. Wenn die mittlere Größe nicht verfügbar ist, lädt WordPress das Bild in voller Größe. Ich habe da in aktiviert die mittlere Größe angegeben.
quelle
@toscho Ah, ich habe einen Fehler in deinem Code gefunden. Bitte entblößen Sie mich. Führen Sie genau die folgenden Schritte aus, um das Problem zu replizieren:
1) Öffnen Sie einen Beitragsentwurf.
2) Klicken Sie auf die
Add Media
Schaltfläche. Warten Sie, bis die jQuery-Funktion geladen ist.3) Klicken Sie links auf den
Set Featured Image
Link.4) Schließen Sie nun das Medien-Popup-Fenster und klicken Sie auf der Nachbearbeitungsseite auf den
Set featured image
Link in der rechten Seitenleiste.5) Sie werden feststellen, dass die jQuery-Funktion nicht funktioniert.
Wenn Sie jedoch beim
Set featured image
Laden nach der Bearbeitung zuerst auf den Link geklickt hätten, würde die Funktion funktionieren. Können Sie dieses Problem wiederholen und möglicherweise eine Lösung finden? Entschuldigen Sie noch einmal, dass Sie dies als Antwort gepostet haben, aber diese Plattform bietet mir derzeit keine bessere Option.EDIT: Kann bitte jemand toscho lassen darüber Bescheid wissen. Sie können dies tun, indem Sie seiner Antwort einen Kommentar hinzufügen, den er meines Erachtens benachrichtigen sollte. Ich kann keine Kommentare schreiben, da ich nicht genug Reputation habe ...
BEARBEITEN 2 : Wenn Sie dieses Problem unbedingt vermeiden möchten, können Sie den Link "Ausgewähltes Bild festlegen" im Popup entfernen und den Benutzer zwingen, den Sidebar-Link zu verwenden (wie bei WP-Versionen vor 3.5). Verwenden Sie diesen Filter, der in WP 3.5 eingeführt wurde:
Wie gesagt, dies ist eine verzweifelte Lösung, bis es eine Lösung für den Hauptcode gibt.
quelle
Das Wichtigste, was mir an den meisten dieser Lösungen nicht gefallen hat, ist, dass sie auf vielen Bildschirmen blinkten. Wenn Sie auf " Ausgewähltes Bild" klicken, werden wieder alle Bilder angezeigt . Nach einigem Suchen finde ich eine dauerhafte Lösung (Danke an Ünsal Korkmaz ), die so aussieht, als ob sie diese Probleme löst. Der Code:
Dadurch wird die Medienbibliothek dauerhaft so eingestellt, dass nur "In diesen Beitrag hochgeladen" angezeigt wird, auch wenn Sie versuchen, die Ansicht zu ändern, was bedeutet, dass nicht blinkt.
Ich habe diesen Code hinzugefügt, um die Auswahlbox vollständig zu entfernen:
quelle
Die neuen Versionen von WordPress verwenden einen anderen Ansatz (erweiterte Backbonejs ) für den Medien-Uploader. Überprüfen Sie den Code von diesem Plugin, da er für neue Versionen von WordPress funktioniert.
quelle
Dies ist meine Lösung, um
dateFilter
auf den aktuellen Monat zu setzen, obwohl es AJAX zweimal auslöst.quelle