web-dev-qa-db-fra.com

Rotation d'image ne fonctionne pas pour les tailles d'image personnalisées

Lors de la rotation d'une image avec l'éditeur d'images WordPress, il crée de nouvelles images et renomme toutes les images pour les tailles d'image miniature, moyenne et grande qui sont la valeur par défaut pour WordPress.

Mon problème est que j'ai enregistré de nouvelles tailles d'image en utilisant add_image_size ();

Est-il possible de faire en sorte que WordPress renomme/fasse pivoter ces tailles d'image personnalisées?

S'il y avait un moyen de simplement le remplacer par les noms d'image originaux, ce serait génial. Donc, nous ne finissons pas avec des noms d’images étranges comme My_Image-e13232345234234-200x600.jpg.

EDIT

Ci-dessous, un plugin de test qui montre ce qui se passe. Collez le code dans un fichier de votre dossier plugins, puis téléchargez une image telle que my_image.jpg. Vous devriez maintenant avoir my_image-30xY.jpg. Maintenant, si vous faites pivoter l'image, vous n'aurez plus que 4 nouvelles images, telles que my_image-e1343232354234.jpg, mais il n'y aura pas de nouvelle image pour la taille de l'image "test".

<?php

/*
Plugin Name: Test
Description: this is a test
Author: Mike
Version: .1
*/

class test{

    function __construct(){
    add_action( 'after_setup_theme', array($this, 'add_image_sizes') );
    }

    function add_image_sizes(){
    add_image_size( 'test', '30', '30' );
    }
}

new test();

?>
1
Mike

De l'examen, cela ressemble à un bug. Je ne vois pas pourquoi je ne devrais pas appliquer ces changements.

Rapporté: http://core.trac.wordpress.org/ticket/19889

Un correctif dans ce ticket corrige le problème.

De plus, en réponse à votre autre question, vous pouvez définir IMAGE_EDIT_OVERWRITE sur true dans le fichier wp-config pour qu’il ne crée pas ces fichiers avec un nom étrange et écrase simplement les noms originaux. Cela rompra cependant la capacité de restauration d'image de l'éditeur intégré.

1
Otto

le correctif ne fonctionne plus, car le fichier edit-image.php a été modifié. cela a fonctionné pour moi (wp 3.8.1). aucun piratage de base wp requis. Yay.

0
honk31