• HOME
  • WordPress
  • 何度もpostを投げないようにしてみよう。

何度もpostを投げないようにしてみよう。

<?php
$day_posts = query_posts("post_type=post&posts_per_page=1");
$today = $day_posts[0]->post_date;
$new_str=str_replace(" ","-",$today);
$post_day=explode("-",$new_str);
$date = date("Y年m月d日" , mktime(0,0,0,$post_day[1],$post_day[2],$post_day[0]));
$posts = query_posts( 'year=' . $post_day[0] . '&monthnum=' . $post_day[1]. '&day=' . $post_day[2] ."post_type=post&posts_per_page=-1");
$i = 0;?>
<?php echo "<h2><span>".$date."</span></h2>";?>
<?php echo "<ul class='cf mainlist'>";?>
<?php while ( have_posts() ) : the_post();
$i++;?>
<li><div><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail("day_photo"); ?></a>
<span><a href="<?php the_permalink(); ?>"><?php the_title(); ?>様</a></span></div></li>
<?php endwhile;
echo "</ul>";
 ?>
<h3>応募写真一覧</h3>
<?php wp_reset_query(); ?>
<ul class="cf sublist">
<?php $posts = query_posts("post_type=post&nopaging=true");
$l = 0;
while ( have_posts() ) : the_post();?>
<?php
$l++;
$d = $i+1;
if( $d <= $l ):?>
<li><div><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail("photo"); ?></a>
<span><a href="<?php the_permalink(); ?>"><?php the_title(); ?>様</a></span></div></li>
<?php endif;?>
<?php endwhile; ?>

いろいろとテンパって書いたものだけど
考えてみれば最初の1回のクエリだけでほかのクエリは入らない気がする。
最初のクエリで全ての記事を取得しその最初の配列のなかから日付のデータをとりそれを基準として
caseをつかって記事の出力の設定切り替えてcaseのなかでi++などでカウントさせて最初の1回のときに
締めのULや開始のUL、見出しタグを出せばいけるかと思う。
あとで整理してみよう。