web-dev-qa-db-fra.com

Utilisation de wp_get_image_editor dans un script autonome

Avec WP 3.5, ils ont mis à jour les scripts de redimensionnement de l'image avec wp_get_image_editor.

Actuellement, dans ce script autonome auquel on a accédé avec Ajax, j'ai inclus wp-load.php pour pouvoir accéder à toutes les fonctions WP. En particulier, $wpdb;. Pour utiliser les fonctions $wpdb, je devais d'abord déclarer global $wpdb;.

J'ai supposé que je devais faire la même chose pour wp_get_image_editor, mais il n'y a pas de variable globale à déclarer.

En utilisant:

$image = wp_get_image_editor($current);

//if (!is_wp_error($image)) {
    $image->resize(100, 100, false); }

rien ne se passe, et si je supprime l'instruction if, j'obtiens l'erreur

Erreur irrécupérable PHP: Appel de la méthode non définie WP_Error :: resize ()

Est-ce que quelqu'un sait comment je peux faire ça? Serait-il plus intelligent d'installer mes propres scripts de redimensionnement d'image?

2
Jacob Raccuia

Il s'avère que je suis juste idiot.

WP_Error était la méthode non définie, pas de redimensionnement. J'envoyais un mauvais emplacement d'image via la fonction de redimensionnement. Quelle bêtise de moi! Cela fonctionnait tout le temps.

J'ai inclus ceci sur le dessus

$parse_uri = explode( 'wp-content', $_SERVER['SCRIPT_FILENAME'] );
require_once( $parse_uri[0] . 'wp-load.php' );

et ceci est ma fonction de redimensionnement d'image

$image = wp_get_image_editor($current);

    if (!is_wp_error($image)) {
        $image->resize(100, 100, false);
        $image->save($target);
        return "succ";
    } else return "error";
2
Jacob Raccuia