▽1
●
rouge_2008 ●100ポイント ベストアンサー |
新着情報ですからサイトのトップページへの表示ですね?
条件判定で「is_home()」または「is_front_page()」の1ページ目に該当する場合だけ表示するようにしています。
投稿ページは「post_type」に「post」を、固定ページは「post_type」に「page」を指定して取得します。
※投稿と固定ページの2つ分記述してもいいのですが、続けて表示するなら次のようにしても表示できます。
<?php $paged = get_query_var( 'paged' ); ?> <?php if ( ( is_home() || is_front_page() ) && $paged <= 1 ) : ?> // ポストタイプと新着情報の見出し用のタイトルを指定します。 <?php $postsinfo = array( array( 'type' => 'post', 'title' => '□■の新着' ), array( 'type' => 'page', 'title' => '●○●の新着' ) ); ?> <?php foreach($postsinfo as $info) : ?> <!-- ▼ 新着情報 ▼ --> <div id="infoIn"> <h2><?php echo $info['title'] ; ?></h2> <?php $newposts = get_posts('numberposts=8&post_type='. $info['type'] . '&orderby=modified&exclude=1'); if ($posts) { ?> <?php foreach($newposts as $post): setup_postdata($post); ?> <div class="info_each"> <span class="info_day"><?php the_modified_date('y年m月d日'); ?></span> <span class="info_contents"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></span> <div class="clearBoth"></div> </div> <?php endforeach; ?> <?php } ?> </div><!-- / #infoIn --> <div class="clearBoth"></div> <!-- △ 新着情報 △ --> <?php endforeach; ?> <?php endif; ?>
※「get_posts()」の返り値に指定していた「$posts」は特別な変数(※メインクエリ用)ですので、ここでは別の変数「$newposts」に入れています。