知りたいこと
wordpressの(通常の)投稿と、カスタム投稿の実装の違いについて、調べていたのですが、
[設定 > ホームページの表示] で [固定ページ]を選んだ場合、
[投稿ページ] で、投稿の一覧を表示する固定ページ選択できます。
たとえば、blogというスラッグの固定ページを選択した場合、
http://example.com/blog/
で投稿一覧が表示されます。
これと同様の挙動をカスタム投稿で実現することはできないでしょうか。
試したこと 1
カスタム投稿でのpost_typeが「sample_post」の場合、
http://example.com/sample_post/
で、一覧が表示されるのことはわかったのですが、
これを(通常の)投稿同様に、任意の固定ページを割り当てて、
http://example.com/sample/
としたいです。
試したこと 2
固定ページとして「sample」を作成し、そこにWP_Queryでpost_typeが「sample_post」の投稿を呼んでくることはできたのですが、普通のループで呼んできたいことと、is_archive('sample')で条件分岐させたいです。
試したこと 2 の追記
試したのは以下のようなソースです。
<dl> <?php $args = array( 'post_type' => 'sample_post', ); $the_query = new WP_Query( $args ); if ( $the_query -> have_posts() ) : while ( $the_query -> have_posts() ) : $the_query -> the_post(); ?> <dt><?php the_time( 'Y.n.j' ); ?></dt> <dd><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></dd><?php endwhile; else : ?> <dt> - </dt> <dd>no sample post</dd><?php endif; wp_reset_postdata();?> </dl>
これを固定ページ「sample」で回したところ、
結果としては
http://example.com/sample/
で、実現したい結果を得られたのですが、
では通常のループで良いところを、カスタム投稿タイプごとにあらかじめpost_typeを想定したWP_Queryを準備しないといけない
- post_type名(例:sample_post)以外の名前(例:sample)を、URLにしたい
の2点を、解決したく質問いたしました。
また、「そもそも、postだって、post_typeの一種類なんだから、そこで実現していることは、カスタム投稿でも実現できるんじゃないか」という、好奇心もあります。
あなたの回答
tips
プレビュー