Запретить WordPress автоматически добавлять заголовок изображения

8

Я написал плагин, который устанавливает заголовок по умолчанию для всех не установленных (пустых) заголовков и оставляет заголовки, установленные вручную (не пустые).

Проблема в том, что когда я загружаю новые фотографии (в галерею), WordPress по умолчанию устанавливает название для имени файла. Как я могу отключить его и заставить WordPress использовать пустую строку в качестве заголовка изображения по умолчанию ?

PolGraphic
источник
проверить эту ссылку: wordpress.stackexchange.com/questions/6135/…
Эрез Либерман
@ErezLieberman не об удалении существующих заголовков? Я не хочу удалять названия, установленные администратором. Я только хочу, чтобы WordPress не добавлял один по умолчанию при загрузке изображения.
PolGraphic

Ответы:

5

Вы можете попробовать следующее, чтобы очистить заголовок вложения, когда он вставлен, но не обновлен :

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

Здесь мы используем wp_insert_attachment_dataфильтр для переопределения заголовка вложения, если вложение IDпустое, а тип mime соответствует типу изображения в соответствии с wp_match_mime_types(). Простая 'image' === substr( $postarr['post_mime_type'], 0, 5 )проверка также может сработать. Вы могли бы даже предназначаться для данного типа пантомимы, как image/jpeg.

birgire
источник
... говорит человек с белым лицом от призрака ;-)
Питер Гусен
1
Призрак WoPera ;-) @PieterGoosen
birgire