カスタムフィールドのサムネイル画像ファイル名取得

2009.11.25

//カスタムフィールドのサムネイルを取得

以下をfunction.phpのの内側に記載
の外側に余白があるとRSS等各所でバグるので注意

function get_cs_image($id,$size = thumbnail){
	global $wpdb;
	$array1 = $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE post_id='$id' AND meta_key='pic01'",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); 	
	
}

表示したいテンプレートに記載

<img src="<?php $pid = $post->ID;
$thumbimg = get_cs_image($pid,thumbnail);
echo $thumbimg;?>" />

コメントは受け付けていません。