web-dev-qa-db-fra.com

Changer le format du nom de fichier des images sélectionnées sauvegardées

Est-ce que quelqu'un sait comment je pourrais changer la façon dont wordpress enregistre les tailles d'image supplémentaires de l'image sélectionnée?

En ce moment, j'ai l'image principale sauvegardée comme ceci:

test_builder_banner_2.jpg

et pour chaque taille d'image supplémentaire, il enregistre de la manière suivante:

test_builder_banner-610x260.jpg

Tout ce que je veux faire est de supprimer le "-" entre le nom du fichier et la taille du fichier et de le remplacer par un trait de soulignement.

Y a-t-il un filtre que je peux utiliser ou quelque chose de ce genre?

5
Carlos Rios

Il existe un filtre à utiliser pour le tableau contenant le nom du fichier enregistré dans postmeta, mais comme aucun filtre ne permet de modifier le nom de fichier avant de l’enregistrer, vous devez le modifier manuellement à l’aide de rename() .

function wpse_filter_image_resize_name( $filename ) {
    $new_name = preg_replace( "/-(?<match>\\d)/ui", "_$1", $filename );

    if ( rename( $filename, $new_name ) )
        return $new_name;

    return $filename;
}
add_filter( 'image_make_intermediate_size', 'wpse_filter_image_resize_name' );
3
Chris_O