媒体上传文件名中的默认标题

时间:2015-06-27 作者:jimihenrik

我今天有很多问题要问。这容易吗?同样,我似乎找不到正确的过滤器(也找不到前面的问题和合适的答案)。

因此,如果你从GettyImages下载一幅图像,它可能会有一些元标题,WP会在标题字段中找到它,我不希望出现这种行为,因为文件的命名完全是有原因的。我想将标题留空,或者更倾向于复制文件名。我试图勾搭上wp_get_attachment_image_attributes 但似乎并没有奏效。

虽然即使使用了正确的过滤器,我也不知道该怎么做才能恢复文件名。。感谢您的帮助。

再次感谢各位。

1 个回复
最合适的回答,由SO网友:birgire 整理而成

核心在哪里

这些零件herehere, 负责用元数据覆盖图像标题:

// ... cut ...
// Use image exif/iptc data for title and caption defaults if possible.
} elseif ( 
          0 === strpos( $type, \'image/\' ) 
       && $image_meta = @wp_read_image_metadata( $file ) 
  ) {
    if ( 
           trim( $image_meta[\'title\'] ) 
        && ! is_numeric( sanitize_title( $image_meta[\'title\'] ) ) 
    ) {
        $title = $image_meta[\'title\'];
    }
    if ( trim( $image_meta[\'caption\'] ) ) {
        $excerpt = $image_meta[\'caption\'];
    }
}
// ... cut ...
可能的解决方法:可以通过覆盖jpegtiff 图像(PHP 5.4以上版本):

/**
 * Override the meta title for jpeg/tiff images
 * 
 * @link http://wordpress.stackexchange.com/a/192779/26350
 */
add_filter( \'wp_read_image_metadata\', function( $meta, $file, $sourceImageType )
{
    $image_types = [ IMAGETYPE_JPEG, IMAGETYPE_TIFF_II, IMAGETYPE_TIFF_MM ];

    if( ! empty( $meta[\'title\'] ) && in_array( $sourceImageType, $image_types ) )    
        $meta[\'title\'] = \'\'; // <-- Edit this to your needs!

    return $meta;

}, 10, 3 );

结束

相关推荐

WP-ADMIN在更新到4.2.1后抛出500个错误

网站所有者昨天通过仪表板更新了她的多网站。站点本身仍在运行,但网络和主站点仪表板都返回500错误。但是,可以很好地访问两个子域站点的wp管理员。显示的相关PHP错误如下:[2015年4月27日星期一23:36:21][警告][客户端x.x.x.x]mod\\u fcgid:读取数据超时45秒[2015年4月27日星期一23:36:21][错误][客户端x.x.x.x]脚本头过早结束:更新核心。php有人看到或知道吗?