//カスタムフィールドのサムネイルを取得
以下を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;?>" />