Ich arbeite gerade an einem Galerie-Plugin, das dem auf Posterous ähnlich ist. Ich brauche alle Bilder in der Galerie in einer sehr kleinen Thumbnail-Größe. Wahrscheinlich nur 50 Pixel breit.
Was ist die beste Vorgehensweise zum Implementieren der Bildgrößenanpassung?
1.) Hinzufügen der Bildgröße über add_image_size ()?
Diese Methode hat den offensichtlichen Nachteil, dass alle zuvor hochgeladenen Bilder nicht in der Größe verändert werden und nicht korrekt angezeigt werden können.
2.) Verwenden Sie timthumb.php
oder andere Skripte, um die Thumbnails im timthumb.php
zu verändern?
Es empfiehlt sich, immer interne WordPress-API-functionen zu verwenden, die bereits anstelle von externen Skripts vorhanden sind.
Sie müssten die Thumbnails selbst neu generieren, was nicht allzu schwierig ist, wenn Sie sich zum Beispiel selbst einen Vorsprung verschaffen und den Quellcode bestehender und ähnlicher Lösungen studieren;
browse the development trunk here
browse the development trunk here
… das sind zwei Plugins, die genau das Richtige sind.
Auch das Folgende ist ein Auszug aus dieser Antwort zum selben Thema, der wiederum als Beispiel aus dem Regenerate Thumbnail Plugin als Beispiel genommen werden kann oder beispielsweise darauf basieren kann. In jedem Fall gilt der gleiche Vorschlag: “Sieh, wie andere es tun” …
function regenerateThumbnails() { $images = $wpdb->get_results( "SELECT ID FROM $wpdb->posts WHERE post_type = 'attachment' AND post_mime_type LIKE 'image/%'" ); foreach ( $images as $image ) { $id = $image->ID; $fullsizepath = get_attached_file( $id ); if ( false === $fullsizepath || !file_exists($fullsizepath) ) return; if ( wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $fullsizepath ) ) ) return true; else return false; } }
Sorich87 sagte …
Hinweis: Diese function ist nicht sehr skalierbar. Es wird alle Bilder durchlaufen und die Vorschaubilder einzeln regenerieren, was eine große Menge an Speicher belegen kann. Also, vielleicht möchten Sie es verbessern.
… und ich stimme zu, aber es pflanzt zumindest den Samen. Eine Liste der allgemeinen bildbezogenen functionen, insbesondere (aber nicht ausschließlich), finden Sie im Anhang der functionsreferenz im Codex.