web-dev-qa-db-fra.com

Insérer une image redimensionnée dans la bibliothèque multimédia avec wp_get_image_editor (

J'utilise wp_get_image_editor() pour redimensionner et enregistrer une image en cours de téléchargement dans la médiathèque.

$image = wp_get_image_editor( $newattachment_url );
    if ( ! is_wp_error( $image ) ) {
        $image->rotate( 0 );
        $image->resize( 300, 300, false );
        $image->save('resizedimage.jpg');
    }

Cela fonctionne bien, mais cela économise à la racine de WordPress. Comment puis-je télécharger ce fichier dans la médiathèque? Je veux avoir l'image originale et l'image redimensionnée dans la médiathèque.

$newattachment_url est l'URL de l'image téléchargée à l'origine.

1
Josh

Vous avez besoin de la méthode generate_filename de la classe de l'éditeur d'images . Comme ça:

$filename = $img->generate_filename( 'resized', ABSPATH.'wp-content/uploads/resized-images/');
$image->save($filename);

Cela enregistre l'image renommée originalname-resized dans le répertoire resized-images du dossier de téléchargement. Cela ne signifie pas que WordPress sait qu'il est là. Cela dépend du contexte dans lequel vous appelez wp_get_image_editor().

0
cjbj