カスタム投稿タイプの年別アーカイブ、月別アーカイブを作るとき

と教わりましたので、共有いたしますm(__)m。

プラグイン Custom Post Type Permalinks

ダウンロードなど。
http://wordpress.org/extend/plugins/custom-post-type-permalinks/

このプラグインを入れると、管理画面の「設定 > パーマリンク」の画面で、カスタム投稿タイプごとに別々のパーマリンクのルールを指定することができるようになります。

つまり、通常だと下の写真のように、共通の設定しかできないのですが、

このプラグインがあると、次のように投稿タイプごとの設定ができるようになります。

カスタム投稿タイプの年アーカイブ

特定のカスタム投稿タイプの表示の仕方は、以下です。

  1. 上記のCustom Post Type Permalinksプラグインを有効化
  2. パーマリンクの設定に表示したい時間系のパラメータ(/%year%/や%monthnum%/など)を入れる。例えば、/%year%/%post_id%
  3. ブラウザで個別記事を表示させてIDを外してみる
  4. 表示用のテンプレートファイルを用意する。
  5. この段階では、投稿の一覧が表示されていると思うので、query_posts();を使って、対象の投稿タイプを出すようにする

参考

ループ

//date.phpのループのところ
<ul>
<?php
$args = array(
	'post_type' => 'newtype',
);
query_posts($args);
?>
<?php while ( have_posts() ) : the_post(); ?>
	<li><?php the_terms( $post->ID, 'newtax', '<span>', '', '</span>' ); ?><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
</ul>

上記のようにすることで、newtypeというカスタム投稿タイプのリストが、spanタグに囲まれたタクソノミのリスト付きで表示されるようになります。

タイトルのところ

タイトルに表示されている年を入れたい時は、

if ( get_post_type() == 'newtype' ) { ?>
	<h1>僕のポストタイプ > <?php echo get_post_time('Y'); ?></h1>
<?php }

という感じでやりました。

↓ プラグインを作る方々への本、書きました。 ↓

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です