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.
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()
.