人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Wordpressについて質問です。

新着記事を固定ページと投稿ページで分けたいです。
とりあえず下記のように作りましたが、
これだと投稿ページも固定ページも新着情報として吐き出してしまいます。

<!-- ▼ 新着情報 ▼ -->
<div id="infoIn">
<?php
$posts = get_posts('numberposts=8&post_type=any&orderby=modified&exclude=1');
if ($posts) {
?>
<?php foreach($posts 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>
<!-- △ 新着情報 △ -->

固定ページだけの新着情報と投稿ページだけの新着情報を表示させるにはどうしたらよいでしょうか?

PHP5、Wordpress3.5、windows7という環境でやってます。
よろしくお願いします。

●質問者: uuktyu
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

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」に入れています。


uuktyuさんのコメント
ご回答ありがとうございました。 うまくいきました。大事につかわせていただきます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ