Ich habe 1000 Bilder. Wie kann ich WordPress dazu bringen, nur bei Bedarf einen Daumen zu generieren? Zum Beispiel verwendet der Home Slider nur 10 Bilder. Ich möchte nicht, dass die anderen 1000 Bilder dieses Vorschaubild als Verschwendung von Platz und Ressourcen erzeugen.
Gibt es eine Möglichkeit, add_image_size nur bei Bedarf auszulösen?
Vielen Dank
UPDATE Wie Sie bereits erwähnt haben, ist add_image_size nicht wirklich das, was abgefeuert werden muss. Was es großartig wäre, ist, die Bildgröße zu ändern, wenn ich das_post_thumbnail ('Slider-Thumb') benutze; Vielleicht verlangsamt dies die erste Ansicht des Bildes, aber diese Ansicht wird normalerweise von mir generiert, wenn ich den Beitrag tatsächlich überprüfe, damit es mich nicht interessiert.
Also zwischen meinen Beiträgen, Slider, Blog-Thumbnauls, Portfolio-Thumbnails usw. habe ich 1000 Bilder und ich möchte, dass nur 10 Bilder für den Slider angepasst werden. Ich sehe eine Menge verschwendeter Ressourcen, um die Thumbnail-Größe für die anderen 990 Bilder zu generieren.
Hoffe es ist jetzt klar, sorry für mein Englisch
Antworten:
Schauen Sie sich das Dynamic Image Resizer-Plugin von Otto an
quelle
Fügen Sie dies in Ihre Theme-Funktionsdatei ein. Es verhindert, dass Wordpress beim Hochladen etwas anderes als die 3 Standardgrößen erstellt.
Wenn dann ein Bild in einer bestimmten Größe angefordert wird, die noch nicht generiert wurde, wird es nur einmal erstellt.
quelle
Leider bricht die Antwort von @ Patrick die in WP 4.4 eingeführten srcset-Funktionen. Zum Glück müssen wir nur zwei zusätzliche Funktionen hinzufügen!
Zunächst müssen wir alle registrierten Miniaturbildgrößen vorübergehend wieder in die Bildmetadaten einfügen, damit sie berücksichtigt werden können:
Dann müssen wir die Matches durchgehen und fehlende Thumbnails generieren:
quelle
Eigentlich
add_image_size()
nicht die Vorschau erzeugt, registriert er nur eine Bildgröße wie bei Wordpress verfügbar.In der Regel werden beim ersten Hochladen des Bildes Miniaturansichten erstellt. Es ist ein automatischer Prozess, sodass Sie sich später nicht mehr darum kümmern müssen, sie zu generieren. Stellen Sie sich das so vor: Wenn die Erstellung eines Thumbnails auf einem langsamen Server 1 bis 2 Sekunden dauert und Sie warten, bis es angefordert wird, zwingen Sie den Anfragenden, weitere 1 bis 2 Sekunden pro Bild zu warten , um den Inhalt anzuzeigen . Es ist viel einfacher, dies im Voraus zu tun - dh wenn das Bild hochgeladen wird.
Wenn Sie die Miniaturansichten unbedingt zu einem anderen Zeitpunkt verarbeiten müssen, sollten Sie sich gleichzeitig das Plug-in "Miniaturansichten neu generieren" von Viper ansehen . Mit einer On-Demand-Aktion werden alle Miniaturansichten Ihrer Bilder neu generiert. Sie können jedoch ähnlichen Code verwenden, um Miniaturansichten nur bei Bedarf zu generieren.
quelle
Nicht genau. Sie können die Liste der registrierten Größen jedoch filtern, bevor die Miniaturansichten generiert werden. Die Funktion wp_generate_attachment_metadata () (die die Funktion aufruft, die die Miniaturbilder generiert) verfügt über einen Filter mit dem Namen "intermediate_image_sizes_advanced", mit dem Sie das Array der Größen unmittelbar vor dem Generieren der Dateien bearbeiten können. Sie können diesen Filter verwenden, wenn Sie ein Bild eines bestimmten "Typs" hinzufügen und es anschließend sofort entfernen.
Ich denke, Ihre größte Herausforderung wäre es, herauszufinden, wie Sie zwischen Bildern, für die zusätzliche Größen erforderlich sind, und solchen, für die dies nicht der Fall ist, unterscheiden können.
quelle
Sie können mein (nicht Ottos ) Plugin "Dynamic Image Resize" 1) verwenden .
Das Plugin wird mit einem Template-Tag und einem Shortcode geliefert .
1) Habe gerade von Ottos Plugin erfahren. Namenskollision war nicht vorgesehen.
quelle
Sie können dieses Plugin ausprobieren: https://wordpress.org/plugins/optimize-images-resizing
Die Größe der Bilder wird basierend auf Ihrer registrierten Bildgröße geändert, jedoch nur bei Bedarf. Kann auch vorhandene Bildgrößen bereinigen, damit sie neu generiert werden können.
quelle
Das WP Performance Pack Plugin bietet "verbessertes Bildhandling", das auf Ottos Dynamic Image Resizer basiert, aber viele Verbesserungen beinhaltet, zB: Erstens ist es kompatibel mit der neuesten WordPress-Version (3.9.1), verwendet WP_Image_Editor und kann Thumbnails speichern ausgeschaltet sein (aber sie können zwischengespeichert werden und der CDN-Support ist in Arbeit), die Integration von Thumbnails neu generieren (um vorhandene Thumbnails zu löschen) und vieles mehr.
quelle
Sie können auch Aqua Resizer ausprobieren - https://github.com/syamilmj/Aqua-Resizer/
Es ist nur eine Datei.
Du kannst es so benutzen:
quelle
Hier noch ein anderer Ansatz: Seine Haken in der 404-HTTP-Fehlerbehandlung. Wenn die Miniaturansicht nicht verfügbar ist, suchen Sie das Originalbild und erstellen Sie die Miniaturansicht. Beachten Sie, dass dies Ihr Problem nicht wirklich löst, da es die Erstellung von Miniaturansichten während des Uploads nicht verhindert.
Beachten Sie auch, dass dieses Plugin möglicherweise von böswilligen Benutzern verwendet wird, um eine beliebige Anzahl von Miniaturansichten zu erstellen und damit Ihren Speicherplatz zu erschöpfen.
Hinweis: Dieses Plugin kann einfach mit Pluginception installiert werden .
quelle