0

すべての添付ファイルを処理したいのですが、サムネイルを再度生成することはありません。現在、wp_generate_attachment_metadata()..を使用していますが、thumbanailが作成されているため、すべての投稿の添付ファイルを実行するのに長い時間がかかります。実行を高速化するためにメタデータ配列をシリアル化したいだけです。

4

1 に答える 1

4

親指を生成せずにこの関数の独自のバージョンを作成できます。こちらをご覧ください: http://core.trac.wordpress.org/browser/tags/3.3.1/wp-admin/includes/image.php#L80

例えば ​​:

function my_generate_attachment_metadata( $attachment_id, $file ) {
    $attachment = get_post( $attachment_id );

    $metadata = array();
    if ( preg_match('!^image/!', get_post_mime_type( $attachment )) && file_is_displayable_image($file) ) {
        $imagesize = getimagesize( $file );
        $metadata['width'] = $imagesize[0];
        $metadata['height'] = $imagesize[1];
        list($uwidth, $uheight) = wp_constrain_dimensions($metadata['width'], $metadata['height'], 128, 96);
        $metadata['hwstring_small'] = "height='$uheight' width='$uwidth'";

        // Make the file path relative to the upload dir
        $metadata['file'] = _wp_relative_upload_path($file);

        // fetch additional metadata from exif/iptc
        $image_meta = wp_read_image_metadata( $file );
        if ( $image_meta )
            $metadata['image_meta'] = $image_meta;
    }

    return apply_filters( 'wp_generate_attachment_metadata', $metadata, $attachment_id );
}
于 2012-04-19T15:13:11.390 に答える