記事一覧に子ページを反映させず、親ページ内に載せたい。
-
カスタム投稿での親ページ・子ページの一覧表示について質問です。
phpもWPも初心者レベルなので、うまく伝わるかどうか不安ですがよろしくお願いします。使用しているテーマ「twenty ten」を基準に書かせていただきます。
■やりたいこと
- 通常エントリーとは別に、カスタム投稿タイプで「movie」を作成。
- Homeとなる「index.php」にエントリー順に表示(通常・カスタム一緒に表示。
- ループの際「movie」だけ少し表示を変えたい。
- カスタム投稿「movie」のエントリーには子ページも存在。
- 子にはアイキャッチを設定。
- 子ページが投稿された場合、Homeにはすでに投稿されている親ページの中に反映
- 親ページに反映された子ページはリストタグで囲まれたアイキャッチを表示、クリックで子ページに直接リンク
表示としては
2012.04.26 カテゴリー:Art
タイトル名
本文
———–
2012.04.24 カテゴリー:Food
タイトル名
本文
———–
2012.04.23 カスタム投稿:Movie
タイトル名
本文———–
2012.04.22 カテゴリー:Food
タイトル名
本文
———–
2012.04.21 カスタム投稿:Movie
タイトル名
本文という感じです。
■やってみた事
「loop.php」のループ開始のタグを以下に変えました。<?php $paged = get_query_var('paged'); ?> <?php query_posts( array( 'post_type' => 'any', 'paged' => $paged )); ?> ・ ・ ・ <?php while ( have_posts() ) : the_post(); ?>
■疑問点
「post_type」を「any」にしたら固定ページも出てきましたが
「any」は通常post、カスタム投稿、固定ページ全てをさすんでしょうか?これで通常エントリー、カスタム投稿タイプのエントリー両方が表示されました。
次にカスタム投稿「Movie」の時だけ表示を変えたいのでループ内を以下に変えました。
<?php while ( have_posts() ) : the_post(); ?> <?php if ( get_post_type() === 'movie') : ?> <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> ・ カスタム投稿タイプが「movie」の時の表示 ・ </div> <?php else : ?> <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> ・ それ以外のエントリー、固定ページの表示 ・ </div>
これで通常エントリーと「movie」で異なってレイアウトでループ表示ができました。
ところがカスタム投稿「movie」で親ページ・子ページ両方の一覧が表示されます。
———–
2012.04.23 カスタム投稿:Movie
子ページb(親ページA)
本文
———–
2012.04.23 カスタム投稿:Movie
子ページa(親ページA)
本文
———–
2012.04.21 カスタム投稿:Movie
親ページA
本文「$post->post_parent」などをつかって分岐させれば・・・
というところまでわかりましたが、ここからどうすればわからなくなり困っています。何卒宜しくお願い致します。
- トピック「記事一覧に子ページを反映させず、親ページ内に載せたい。」には新たに返信することはできません。