it-swarm.com.de

Verhindert, dass WordPress automatisch den Bildtitel hinzufügt

Ich habe ein Plugin geschrieben, das den Standardtitel für alle nicht gesetzten (leeren) Titel festlegt und die Titel manuell festlegt (nicht leer).

Das Problem ist, wenn ich neue Fotos (in die Galerie) hochlade, WordPress den Titel standardmäßig auf den Dateinamen setzt. Wie kann ich es deaktivieren und WordPress zwingen, eine leere Zeichenfolge als Standard-Bildtitel zu verwenden ?

8
PolGraphic

Sie können Folgendes versuchen, um den Titel des Bildanhangs zu löschen, wenn er eingefügt , aber nicht aktualisiert ist:

/**
 * 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 );

Hier verwenden wir den wp_insert_attachment_data-Filter, um den Titel des Anhangs zu überschreiben, wenn die ID des Anhangs leer ist und der MIME-Typ ein image -Typ gemäß wp_match_mime_types() ist. Möglicherweise funktioniert auch eine einfache 'image' === substr( $postarr['post_mime_type'], 0, 5 )-Prüfung. Sie können sogar einen bestimmten MIME-Typ wie image/jpeg als Ziel festlegen.

4
birgire