web-dev-qa-db-de.com

Wordpress ändert die Bildgröße auf die gleiche Größe wie hochgeladen

Ich schreibe ein Thema, das verschiedene Bildgrößen verwendet.

Hier sind meine Zielgrößen, wie sie unter Einstellungen> Medien in WP Admin eingerichtet wurden:

 enter image description here 

Hier ist der functions.php-Code für die Unterstützung von Thumbnails:

$THUMBNAIL_SIZE = 320;
$MEDIUM_SIZE = 460;
$LARGE_SIZE = 1366;


if (function_exists('add_theme_support')) { 
  add_theme_support('post-thumbnails');

  set_post_thumbnail_size(        $THUMBNAIL_SIZE,  9999);
  add_image_size( 'medium-size',  $MEDIUM_SIZE,  9999 ); 
  add_image_size( 'large-size',  $LARGE_SIZE, 9999 );
}

Wie Sie sehen können, sind die Größen 320px breit, 460px breit und 1366px breit.

Das Problem ist, wenn ich ein 1366px breites Bild hochlade, wird die Originaldatei hochgeladen und zusätzlich werden 320px, 460pxund 1366pxBilder mit geänderter Größe erstellt.

Z.B.

UPLOAD:

  • someimage.jpg (1366px breit)

OUTPUT(in/uploads/2015/08 /)

  • someimage.jpg

  • someimage-1366x937.jpg

  • someimage-460x316.jpg

  • someimage-320x220.jpg

Was ich sehen kann ist, dass die automatisch erstellte Datei someimage-1366x937.jpg komprimiert ist, was ich nicht wirklich erwarte.


Wenn das hochgeladene Bild nach meiner vorherigen Erfahrung dieselbe Größe wie die größte angegebene Größe hatte, wurde kein Duplikat erstellt.

Ich benötige diese duplizierten Bilder nicht in der Breite des ursprünglichen Uploads, sie verschwenden nur Speicherplatz.

Ich benutze Wordpress 4.3. Es wurden noch keine Plugins hinzugefügt, also ist es definitiv etwas, was der Wordpress-Kern tut. Ich habe dies vor der Aktualisierung von Version 4.3 noch nicht erlebt (ich habe zuvor eine Version 4.0 verwendet und nach 4.3 die Entwicklung von WP wieder aufgenommen aus.


AKTUALISIEREN:

Hier ist meinBildbearbeitungsprozess.

Ich habe immer die Größe des Bildes auf die größte benötigte Größe geändert. Einige Posts benötigen Bilder mit einer Breite von 1366 Pixel, andere nur mit einer Breite von 460 Pixel.

In jedem Szenario möchte ich, dass Wordpress das von mir hochgeladene Bild aufnimmt und kein komprimiertes Duplikat davon erstellt. Außerdem müssen alle kleineren Größen erstellt werden.

Das heisst:

  • 1366px hochladen -> 460px und 320px erstellen

  • 460px hochladen ---> 320px erstellen

1
Drunken Master

Wenn Sie Bilder in der Größe hochladen, die der Größe Ihrer WordPress-Installation entspricht, setzen Sie IhreGrößein Einstellungen -> Medien auf 0x0, oder entfernen Sie diese Zeile:

add_image_size( 'large-size',  $LARGE_SIZE, 9999 );

EDIT # 1:

Versuchen Sie, diesen Filter hinzuzufügen, um das Originalbild zu löschen:

add_filter('wp_generate_attachment_metadata', 'delete_fullsize_image');
function delete_fullsize_image($metadata) {
    $upload_dir = wp_upload_dir();
    $full_image_path = trailingslashit($upload_dir['basedir']) . $metadata['file'];
    $deleted = unlink($full_image_path);

    return $metadata;
}

Das Originalbild wird nach dem Hochladen gelöscht und nur die generierten Bilder bleiben erhalten.

EDIT # 2:

Überprüfen Sie diese beiden Plugins (ungetestet), sie könnten Ihnen dabei helfen, es automatisch zu tun:

1
Ciprian