web-dev-qa-db-fra.com

Empêcher WordPress

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 une 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 ?

8
PolGraphic

Vous pouvez essayer ce qui suit pour effacer le titre de la pièce jointe d'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 filtre wp_insert_attachment_data pour remplacer le titre de la pièce jointe si la variable ID de la pièce jointe est vide et que le type mime est un type image selon wp_match_mime_types() . Une simple vérification 'image' === substr( $postarr['post_mime_type'], 0, 5 ) pourrait également fonctionner. Vous pouvez même cibler un type de mime donné, tel que image/jpeg.

4
birgire