it-swarm.com.de

add_image_size skaliert, obwohl crop auf true gesetzt ist

Ich versuche ein 1000 x 648 Bild auf 400 x 400 zuzuschneiden. Ich benutze diesen Code in functions.php

add_theme_support( 'post-thumbnails' );
add_image_size('shop-size', 400, 400, array(center,center) );
add_image_size('shop-size2', 401, 400, true );

dann gehe ich zum regenerate plugin und starte es. Während ich es starte, öffne ich wp-Content-Uploads, um herauszufinden, was los ist.

Ich beobachte, wie es ein 400x259-Bild erzeugt, das skaliert ist. Das Regenerierungs-Plugin sagt sogar, dass es eine Größe von 400 x 400 Pixel hat, die auf die Ladengröße zugeschnitten ist, und fährt dann damit fort.

Ich habe geprüft, ob G-tt damit geladen ist und es gibt "G-tt geladen" zurück

<?php if (extension_loaded('Gd')) 
     { 
         echo "Gd loaded"; 
     } else { 
         echo "not loaded"; 
} ?>

Ich habe auch versucht, es wie folgt in after_theme_setup einzuhängen:

function add_custom_sizes() {
    add_image_size( 'map-size', 199, 199, array('center','center') );
    add_image_size('shop-size', 599, 599, array('center','center') );
    add_image_size('discover-size', 749, 620, array('center','center'));
    add_image_size( 'map-size1', 198, 199, true );
    add_image_size('shop-size1', 598, 599, true );
    add_image_size('discover-size1', 748, 620, true);
}

add_action('after_setup_theme','add_custom_sizes'); 

beim Regenerieren werden jedoch immer noch 198x165 statt 198x199 (von 768 x 641) erstellt.

Der Elternteil wird von gedeihenden Themen als "Aufstieg" bezeichnet. Ich habe sie kontaktiert, aber sie sagten, dass sie keine Unterstützung für Entwicklerfragen haben.

Die Eltern verwenden add_image_size nur einmal, ich habe versucht, dies zu entfernen, aber ich hatte immer noch die Skalierung, anstatt das Problem zu beschneiden.

Ich habe die Aufstiegsdateien unten aufgenommen. Ich habe eine Ahnung, dass sie eine Art benutzerdefinierte Skalierungssache machen? Und wie muss ich das überwinden?

gedeihen Bildoptimierungsdatei - https://Pastebin.com/1QEa6YJv gedeihen Funktionen - https://Pastebin.com/pAqBt285

Kann mir jemand helfen, herauszufinden, was ich falsch mache? Danke für jede Hilfe.

3

aus Ihrer Frage, dass Sie beim Hochladen von Bildern beschnittene Bilder mit fester Größe wünschen, warum verwenden Sie nicht wp_get_image_editor? Ich habe es in meinem Projekt verwendet, wo ich beschnittene Bilder mit fester Größe haben wollte, also habe ich diesen Code gemacht.

$path = $newPath['basedir'].'/newImgas/';
$cropfile = uniqid() . '.png';
$cropfilename = $path.$cropfile;
$cropImage = home_url(). '/wp-content/uploads/newImgas/'.$cropfile;
$c_image = wp_get_image_editor($newImage);
if ( ! is_wp_error($c_image) ) {
  $c_image->resize( 600, 600, TRUE);
  $c_image->save( $cropfilename );
}

Sie finden das Beispiel hier . Bitte antworten Sie mir, wenn es nicht das ist, was Sie wollten.

1
Vinit

Ich denke, Ihr Problem könnte sein, dass Sie die hohe Priorität einstellen müssen (versuchen Sie 101 oder sogar 999, wenn es sich löst):

add_action('after_setup_theme', 'add_custom_sizes',  101 ); 
1
T.Todua

Die Tatsache, dass Gd geladen ist, bedeutet nicht, dass es tatsächlich für die Handhabung der Bilder verwendet wird. Aus dem Pastebin-Code, den Sie angeben, schließe ich, dass Ihr Theme mit dem Kraken Image Optimizer (als separates Plugin oder auf andere Weise mit dem Theme gebündelt) geliefert wird.

Da mit add_image_size die Daten nur in einem Array abgelegt werden, liegt es an der Bildbearbeitungsfunktion, sie tatsächlich zu verwenden. Normalerweise erledigt dies die Funktion wp_save_image , mit der jeder Bildeditor verwendet werden kann (in der Zeile, in der es heißt: $img = wp_get_image_editor).

Wahrscheinlich ignoriert der Kraken-Editor die Zuschneideeinstellung. Sie müssen die Plugin-Einstellungen finden und ändern, wenn Ihr Thema es Ihnen erlaubt. Kraken ist ein kostenpflichtiges Programm, daher kann es zu Einschränkungen kommen.

Alternativ können Sie den Bildeditor mit dem Filter wp_image_editors wieder in Gd ändern, aber da ich nicht weiß, wie das Thema Kraken verwendet, bin ich mir nicht sicher, wie sich dies auswirkt.

1
cjbj