SQL: select Magic Fields data in WordPress

作品登録した日時の新しい順に、その作者を35人まで縦一列に表示する。
同じ作者が出れば、ジャンプする。

<table width=180 cellpadding=”5″>
<colgroup><col WIDTH=60><COL WIDTH=108><COL WIDTH=10></COLGROUP>
<tr><td align=”center” height=”50″ valign=”middle” colspan=”3″>
<img src=”http://hitoxmono.com/images/artist_btn_gray.gif” title=”artisan” alt=”artisan” />
</td></tr>
<?php
global $wpdb;
$sql = <<< HERE
select aa.ID, bb.meta_value from $wpdb->posts aa,
( select post_id, meta_value from $wpdb->postmeta where meta_key = ‘p_artisan’ ) bb
where aa.ID = bb.post_id and aa.post_status=’publish’ order by post_date desc
HERE;

$posts = $wpdb->get_results($sql);

if($posts) :
$nn = 0;
$pid=array();
foreach($posts as $post):
$same=0;
$post_id = $post->meta_value;
for ($i=0; $i<$nn; $i++) {
if($post_id == $pid[$i]) {
$same=1;
break;
}
}
if($same==1) continue;

?>
<tr><td align=”left”>
<?php
$pid[] = $post_id;
$nn=$nn+1;
$apost = get_post($post_id);
?>
<?php
$photo1 = get_post_meta($post_id, ‘a_photo1′,true);
if(!$photo1) $photo1 = “man.gif”;
?>
<a href=”http://hitoxmono.com/wp/artisan.html?apid=<?php echo $post_id; ?>” >
<img src=”http://hitoxmono.com/wp/wp-content/blogs.dir/1/files_mf/<?php echo $photo1; ?>” title=”<?php $apost->post_title; ?>” width=”50″/></a>

</td>
<td align=”left” valign=”bottom”>
<a href=”http://hitoxmono.com/wp/artisan.html?apid=<?php echo $post_id; ?>” >
<?php echo $apost->post_title; ?><br />
<?php echo get_post_meta($post_id,’a_syozoku’,true); ?><br />
<?php echo get_post_meta($post_id,’a_area’,true); ?>
</a>
</td>
<td valign=”bottom”>
<a href=”http://hitoxmono.com/wp/artisan.html?apid=<?php echo $post_id; ?>” ><img src=”http://hitoxmono.com/images/arrow_r.gif” /></a>
</td>
</tr>

<tr><td align=”center” colspan=”3″>
<br />
</td></tr>
<?php
if($nn==35) break; // max:35

endforeach; endif; ?>
</table>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です