WP_Queryでループを2つ出しているのですが、困ったことが…
-
最新の新着記事と、2記事目以降を別のデザインにしたいのでループを2つ作って表示しています。
そこで、困ったことが2つほどあります。1,2ページ目以降の1番上に来るはずの順番の記事が表示されない
post__not_inの都合でしょうか?2ページ目以降は条件分岐でpost_not__inは指定しないようにしているつもりですが…2,ループ中で別記事のサムネイルが出てしまう
投稿中のYoutubeサムネイル/投稿画像/「Noimage」を条件分岐で出力していますが、投稿中の画像がズレてしまいます。` <section class=”posts-wrap”>
<?php
function theCat(){ //カテゴリ取得
$thisCat = get_the_category();
$nowCat = $thisCat[0]-> name;
return $nowCat;
}if(!is_paged()){
?>
<ul class=”post-top”>
<!– 1 –>
<?php$post1 = new WP_Query(
array(
‘posts_per_page’ => 1 ,
)
);if($post1->have_posts()){
while($post1->have_posts()){ //最初の1記事
$post1->the_post();?>
<li>
<article>
<?php echo ‘<a href=”‘ . get_the_permalink() . ‘”>’; ?>
<div>
<div class=”post-thumbwrap”>
<?php
YoutubeThumbnail();
echo ‘<p class=”‘ . addCatClass(cat) . ‘”>’ . theCat() . ‘</p>’;
?>
</div>
<div class=”post-data”>
<h2><?php echo get_the_title(); ?></h2>
<p class=”posted-time data-date”><?php the_time(‘Y年n月j日’); ?></p>
</div>
</div>
</a>
</article>
</li>
<?php
}
}
?>
<!– 1 –>
</ul>
<?php }?><ul class=”posts-list”>
<?phpif(!is_paged()){
$firstID = get_the_ID(); //投稿の最初の記事ID
$postOthers = array(
‘showposts’ => 4 ,
‘paged’ => get_query_var(‘paged’) ,
‘post__not_in’ => array($firstID) ,
‘post_type’ =>
);
}else{
$postOthers = array(
‘showposts’ => 6 ,
‘paged’ => get_query_var(‘paged’) ,
);
}$postOther = new WP_Query($postOthers) ;
if($postOther -> have_posts()){
while($postOther-> have_posts()){
$postOther->the_post();
?><li class=”<?php echo addCatClass(post);?>”>
<a href=”<?php the_permalink(); ?>”>
<div class=”post-thumbwrap”>
<?php
echo YoutubeThumbnail();
echo ‘<p class=”‘ .addCatClass(cat) . ‘ smp”>’;
$thisCat = get_the_category();
foreach($thisCat as $cat){
echo $cat->cat_name ;
if($cat != end($thisCat)) {echo ‘/’;}}
echo ‘</p>’;
?>
</div>
<div class=”post-data”>
<h2><?php echo get_the_title(); ?></h2>
<p>
<?phpforeach($thisCat as $cat){
echo ‘<span class=”data-cat”>’ . $cat->cat_name . ‘</span>’;
if($cat->cat_ID == 11){ echo “</span> “; }//おすすめ記事は太字}
?>
<span class=”data-date”><?php the_time(‘Y年n月j日’); ?></span>
</p>
<button>動画をみる</button>
</div></a>
</li>
<?php
}
}
?></ul>
</section>
<?php
if (function_exists(“pagination”)) { pagination($wp_query->max_num_pages);}
wp_reset_postdata();
?></main>`
ちょっとコードが長ったらしく見づらいのですが・・ご指摘賜りたくありますm(_ _)m
- トピック「WP_Queryでループを2つ出しているのですが、困ったことが…」には新たに返信することはできません。