Empêcher WordPress d'ajouter automatiquement le titre de l'image


8

J'ai écrit un plugin qui définit le titre par défaut pour tous les titres non définis (vides) et laisse les titres définis manuellement (non vides).

Le problème est que lorsque je télécharge de nouvelles photos (dans la galerie), WordPress définit par défaut le titre sur le nom du fichier. Comment puis-je le désactiver et forcer WordPress à utiliser une chaîne vide comme titre d'image par défaut ?



@ErezLieberman ne s'agit-il pas de supprimer des titres existants? Je ne veux pas supprimer les titres définis par l'administrateur. Je veux seulement empêcher WordPress d'en ajouter un par défaut lorsque vous téléchargez l'image.
PolGraphic

Réponses:


5

Vous pouvez essayer ce qui suit pour effacer le titre de la pièce jointe image lorsqu'elle est insérée mais pas mise à jour :

/**
 * Empty the image attachment's title only when inserted not updated
 */
add_filter( 'wp_insert_attachment_data', function( $data, $postarr )
{
    if( 
        empty( $postarr['ID'] ) 
        && isset( $postarr['post_mime_type'] )
        && wp_match_mime_types( 'image', $postarr['post_mime_type'] ) 
    )
        $data['post_title'] = '';

    return $data;
}, 10, 2 );

Ici, nous utilisons le wp_insert_attachment_datafiltre pour remplacer le titre de la pièce jointe si celle-ci IDest vide et que le type MIME est un type d' image selon wp_match_mime_types(). Une simple 'image' === substr( $postarr['post_mime_type'], 0, 5 )vérification pourrait également fonctionner. Vous pouvez même cibler un type de mime donné, comme image/jpeg.


... dit l'homme au visage aussi blanc que celui d'un fantôme ;-)
Pieter Goosen

1
Le fantôme de la WoPera ;-) @PieterGoosen
birgire
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.