Ich würde gerne wissen, ob es eine einfache Möglichkeit (benutzerdefinierter Code oder Plugin) gibt, Miniaturbildgrößen nur für Bilder zu erstellen , die ich als vorgestellte Bilder verwenden möchte (index.php, archive.php usw.), jedoch nicht für die Bilder in den Beiträgen verwendet (single.php). Mein Hauptziel ist es, die Speicherplatznutzung des Servers zu reduzieren, indem keine Miniaturansichten erstellt werden, die mein Thema niemals verwenden wird.
Meine Thumbnails hätten eigentlich nur zwei Größen, 720px breit und 328px breit, und die 720px breiten Bilder (nur Homepage) hätten auch eine 328px breite (für archive.php und sidebar.php).
Derzeit ist die einzige mir bekannte programmatische Methode das Generieren von Miniaturansichten für jeden Bild-Upload , was unerwünscht ist, da die meisten meiner Uploads Post-Bilder sind und ich viele Bilder manuell vom Server löschen müsste.
Ich würde benutzerdefinierten Code Plugins vorziehen, aber ein Plugin wäre akzeptabel. Ich weiß, dass es einige Plugins zur Größenänderung von Bildern gibt, die jedoch seit langem nicht mehr aktualisiert wurden (TimThumb, Dynamic Image Resizer ).
Ich habe hier in Wordpress SE auch eine ähnliche Frage gefunden, aber die akzeptierte Antwort löst mein Problem nicht wirklich.
BEARBEITEN: Ich muss Miniaturansichten für Bilder innerhalb des Beitrags löschen oder verhindern, nicht für vorgestellte Bilder, dh:
(1) Ausgewähltes Bild : Zusätzliche von WP automatisch generierte Miniaturansichten sind in Ordnung.
(2) In den Posts verwendete Bilder : Laden Sie das Originalbild hoch und generieren Sie keine zusätzlichen Größen. Ich werde das Bild vor dem Hochladen zuschneiden, seine Größe ändern und es optimieren, und eine Größe wird meinen Anforderungen entsprechen.
quelle
_thumbnail_id
-, die eigentlich ausreichen sollte,save_post
und ähnliche Hooks könnten ein guter Weg sein. Vergessen Sie jedoch nicht, dass diese Bilder in Ihrem Beitrag in anderen Beiträgen als Miniaturansicht verwendet werden können. Möglicherweise möchten Sie einen Mechanismus, der dies berücksichtigt.add_filter('intermediate_image_sizes_advanced', '__return_false')
und ändern Sie die Größe der Miniaturansicht imAntworten:
Diese Funktion generiert ein Bild, indem vorübergehend eine Bildgröße registriert, das Bild (falls erforderlich) generiert und die Größe entfernt wird, sodass keine neuen Bilder in dieser Größe erstellt werden.
Es ist "faul", weil Bilder erst generiert werden, wenn sie benötigt werden.
In Ihrem Anwendungsfall würden Sie dies
lazy_image_size
mit der Post-Thumbnail-ID aufrufen, um ein Bild mit der gewünschten Größe zu erhalten. Beim ersten Aufruf wird ein Bild generiert. Nachfolgende Aufrufe würden das vorhandene Bild abrufen.Inhalt: https://gist.github.com/mtinsley/be503d90724be73cdda4
quelle
Sie können diesen Link sehen . Es gibt ein Beispiel wie
quelle
1.Gehen Sie zu Dashboard> Einstellungen> Medien.
2. Deaktivieren Sie das Kontrollkästchen Miniaturbild auf exakte Abmessungen zuschneiden (normalerweise sind Miniaturbilder proportional).
3. Geben Sie 0 für alle Eingaben ein (0 für alle Größen).
4. Fügen Sie diese zu Ihrer functions.php hinzu
5. Stellen Sie sicher, dass Ihre functions.php keine Codezeile enthält. Beginnen Sie mit
add_imge_size
Hinweis :: Ich nehme an, Sie verwenden die Größe 400x400 für Ihre Miniaturansicht. Wenn Sie jetzt ein Foto hochladen, werden nur 2 Versionen anstelle von mindestens 4 Fotoversionen erstellt wie zuvor.quelle
Hallo - ich hatte ein ähnliches Problem. Woocommerce verwendet Katalogbilder für Katalog- und verwandte Produktbilder. Das ist nicht ideal, da Sie entweder die Bildqualität oder die Geschwindigkeit verlieren. Also habe ich versucht, eine vierte Bildkategorie für meine verwandten Produkte hinzuzufügen. Howdy McGee hat das Problem gelöst. Bitte werfen Sie einen Blick auf Howdy McGees Antwort:
Es hat großartig für meine Bedürfnisse geklappt. Für Ihr Problem könnte dieselbe Logik angewendet werden. Hoffe das hilft. Grüße - theo
Ich habe eine Lösung gefunden, die funktioniert. 1.Schritt: Weisen Sie in Ihrer functions.php eine neue Miniaturbildgröße zu. Referenz überprüfen : wp Codex !
Hinweis: 'your-thumb', Sie werden diesen Variablennamen später verwenden
Schritt: Fügen Sie dann den folgenden Code hinzu, wo immer Sie Ihre vorgestellten Produkte anzeigen möchten:
Referenz und Infos: Nicht genug Ruf für einen dritten Link, sorry (www.haloseeker.com/display-woocommerce-featured-products-without-a-shortcode/) Ich habe ihn in die index.php (meine Homepage) von wootheme mystile gestellt . Vergessen Sie nicht, "Ihren Daumen" online zu verwenden:
Schritt: Miniaturansichten neu generieren, Plugin https://wordpress.org/plugins/regenerate-thumbnails/ verwenden
Aktualisieren Sie den Browser, überprüfen Sie den Dom und vergleichen Sie die Werte
Je nach Thema können Sie die Markierungs- und Klassennamen ändern. Ich teste die obige Methode und sie funktioniert gut. Das einzige, was ich bisher nicht tun konnte, ist, die Schaltfläche zum Hinzufügen zum Warenkorb hinzuzufügen, da ich nicht weiß, wie ich eine Variable in den Shortcode der Schaltfläche zum Hinzufügen zum Warenkorb schreiben soll. Dies ist der Code:
Ich hoffe das hilft. Es gibt sicherlich einen eleganteren Weg, dies zu tun. Zum Beispiel mit einer Funktion in der functions.php
Grüße theo
quelle
Um zu verhindern, dass WordPress die zusätzlichen Größen nur für bestimmte Bilder festlegt, müssen Sie angeben können, dass ein Bild, das Sie hochladen möchten, nur für einen bestimmten Zweck verwendet wird. Dies muss geschehen, bevor Sie es hochgeladen haben.
Da es keine solche Schnittstelle (sofort einsatzbereit) gibt, die solche Optionen während einer Upload-Aktion anzeigt, können Sie die zusätzliche Bilderzeugung nicht verhindern - es sei denn, es gab ein Plugin, das diese Funktion hinzugefügt hat.
aber warum in aller Welt möchten Sie nicht die zusätzlichen Bildgrößen? Sie wissen nie, wann Sie auf eine Situation stoßen können, in der Sie eine andere Größe eines Bildes verwenden möchten. Sind Sie besorgt über Speicherplatz?
Können Sie nicht Ihre eigenen spezifischen Größenangaben wie diese verwenden?
the_post_thumbnail( array(100, 100) );
Die meisten Antworten und Kommentare, die ich hier gelesen habe, erklären, wie man die WordPress-Umgebung an Bildgrößen anpasst, aber keiner erwähnt, dass dies bedingt erfolgt. Außerdem geht keiner von ihnen auf die Tatsache ein, dass Sie in der Lage sein müssen, die Verwendung eines Bildes anzugeben, bevor Sie es hochladen.
Wenn Sie versuchen, ein zu kleines Bild oder ein zu großes Bild in einem Beitrag zu kompensieren, können Sie einige Dinge verwenden.
CSS: Sie können Ihrem Stylesheet Einträge hinzufügen, z. B.
.post-entry img { max-width:200px; max-height:300px; }
ist dies universeller und effektiver, als sich auf die Größe des Bildes selbst zu verlassen - DAS ist eine Menge Photoshop-Zeit.Vorlage: Sie können die Vorlagendatei ändern, in der die HTML-Ausgabe der Beiträge generiert wird, und eine Bildgröße wie die folgende angeben:
Weitere Informationen finden Sie in dieser Dokumentation unter WordPress: https://codex.wordpress.org/Function_Reference/the_post_thumbnail
quelle