Wordpressのカスタムフィールドにアップロードした画像のサムネイルとか中サイズとか取得するfunction

備忘録として

Wordpressアップローダーで画像をアップすると、サムネイルとか中サイズとか大サイズの画像が自動作成されます。
設定>メディアのところで好きなサイズを指定できるアレです。
Custom Field GUI Utilityを愛用させていただいているので、それ経由でアップした画像のサムネイルとかを取得するFunctionです

探したらこちらの記事にコードがあったのですが
カスタムフィールドのサムネイル画像ファイル名取得
ちょっとだけ改造

//カスタムフィールドのサムネイル取得
function get_cs_image($id,$size,$metaname){
global $wpdb;
$array1 = $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE post_id='$id' AND meta_key='$metaname'",ARRAY_A);
$imgf = $array1[0]["meta_value"];
$mid = strrchr($imgf,"/");

$array2 = $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE meta_value LIKE '%$mid' AND meta_key='_wp_attached_file'",ARRAY_A);
$pid = $array2[0]["post_id"];

$array3 = $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE post_id='$pid' AND meta_key='_wp_attachment_metadata'",ARRAY_A);
$value = $array3[0]["meta_value"];
$array4 = unserialize($value);
$thum = "/".$array4[sizes][$size][file];

return str_replace($mid,$thum,$imgf);
}

テンプレートで下みたいに書く

<?php if(post_custom('pic01')) { ?>
<img src="<?php $pid = $post->ID; $thumbimg = get_cs_image($pid,thumbnail,pic01); echo $thumbimg;?>" alt="<?php the_title(); ?>" />
<?php } ?>

get_cs_image(記事のID,欲しい画像サイズ(thumbnail、medium、large),カスタムフィールドの名前)
で取得。