Verhindern Sie, dass WordPress den Bildtitel automatisch hinzufügt

8

Ich habe ein Plugin geschrieben, das den Standardtitel für alle nicht festgelegten (leeren) Titel festlegt und die manuell festgelegten (nicht leeren) Titel belässt.

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

PolGraphic
quelle
Kasse diesen Link: wordpress.stackexchange.com/questions/6135/…
Erez Lieberman
@ErezLieberman geht es nicht darum, vorhandene Titel zu entfernen? Ich möchte die vom Administrator festgelegten Titel nicht entfernen. Ich möchte nur verhindern, dass WordPress beim Hochladen des Bildes eine Standardeinstellung hinzufügt.
PolGraphic

Antworten:

5

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

/**
 * 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_dataFilter, um den Titel des Anhangs zu überschreiben, wenn der Anhang IDleer ist und der MIME-Typ ein Bildtyp gemäß ist wp_match_mime_types(). Eine einfache 'image' === substr( $postarr['post_mime_type'], 0, 5 )Überprüfung könnte ebenfalls funktionieren. Sie könnten sogar auf einen bestimmten MIME-Typ abzielen, wie z image/jpeg.

Birgire
quelle
... sagt der Mann mit dem Gesicht so weiß wie das eines Geistes ;-)
Pieter Goosen
1
Das Phantom der WoPera ;-) @PieterGoosen
Birgire