Mit WP 3.5 haben sie die Bildgrößenänderungsskripte mit wp_get_image_editor
aktualisiert.
Derzeit habe ich in diesem eigenständigen Skript, auf das mit Ajax zugegriffen wird, wp-load.php
eingefügt, damit ich auf alle WP -Funktionen zugreifen kann. Insbesondere $wpdb;
. Um die $wpdb
-Funktionen nutzen zu können, musste ich zuerst global $wpdb;
deklarieren.
Ich nahm an, dass ich dasselbe für wp_get_image_editor
tun musste, aber es gibt keine globale Variable, die deklariert werden muss.
Beim Benutzen:
$image = wp_get_image_editor($current);
//if (!is_wp_error($image)) {
$image->resize(100, 100, false); }
es passiert nichts und wenn ich die Anweisung if
entferne, erhalte ich den Fehler
PHP Fataler Fehler: Aufruf der undefinierten Methode WP_Error :: resize ()
Weiß jemand, wie ich das machen kann? Wäre es intelligenter, meine eigenen Skripts zur Größenänderung von Bildern zu installieren?
Es stellt sich heraus, dass ich nur dumm bin.
WP_Error war die undefinierte Methode, nicht die Größe ändern. Ich habe über die Größenänderungsfunktion einen falschen Bildspeicherort gesendet. Wie dumm von mir! Es hat die ganze Zeit funktioniert.
Ich habe dies oben aufgenommen
$parse_uri = explode( 'wp-content', $_SERVER['SCRIPT_FILENAME'] );
require_once( $parse_uri[0] . 'wp-load.php' );
und dies ist meine Bildgrößenänderungsfunktion
$image = wp_get_image_editor($current);
if (!is_wp_error($image)) {
$image->resize(100, 100, false);
$image->save($target);
return "succ";
} else return "error";