2017年以前の旧ブログ

BLOG2017

カスタム投稿で月間アーカイブ

ダーシノ Other Blog

通常投稿で使われる wp_get_archives() ですが、これをカスタム投稿でも実装する方法をまとめました。

カスタム投稿作成

まず簡単にカスタム投稿を作成します。
作り方は過去の記事「カスタム投稿タイプを設定する①」を参照。
この時注意する箇所はカスタム投稿タイプの設定で Has Archive を必ず true に設定する事です。
一覧を出力するファイルは archive-カスタム投稿.php になるので、これを作成します。
簡単に内容を

<?php if(is_month()):?>
<h3><?php echo(get_the_date( _x( 'Y F', 'monthly archives date format'))); ?></h3>
<?php else:?>
<h3>カスタム投稿</h3>
<?php endif;?>
<?php if (have_posts()) : ?>
<div class="article">
<?php while (have_posts()) : the_post(); ?>
<p class="day"><?php the_time('Y年m月d日'); ?></p>
<p class="tit"><a href="<?php the_permalink(); ?>"><?php the_title();?></a></p>
<?php endwhile; ?>
<!-- /.article --></div>
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
<?php else: ?>
<div class="article">
<p>現在お知らせはありません。</p>
<!-- /.article --></div>
<?php endif; ?>

 

月間アーカイブリスト出力

wp_get_archives()を用いて月間アーカイブのリスト一覧を出力しますが、今のままでは使えないのでプラグイン「Custom Post Type Permalinks」をインストールします。
これにより、wp_get_archives()でpost_typeが指定できます。

<?php wp_get_archives(
array(
’post_type’ => ‘カスタム投稿タイプ’,
’type’ => ‘monthly’,
)
);?>

 
出力結果
cg2
 

月間アーカイブ一覧出力

上記「Custom Post Type Permalinks」をインストールする事でパーマリンクをカスタム投稿事に設定する事ができます。
現状のままではクリックした際、404になるので、「設定」 > 「パーマリンク」から「カスタム分類のアーカイブのパーマリンクを変更する。」にチェックを入れ、カスタム投稿タイプのパーマリンクを /%post_id%/ に変更します。
kanri-gamen
以上で月間アーカイブ一覧ページが表示されます。
他にもwp_get_archivesの値に 'show_post_count' => '1' を入れる事で
cg
こんな感じで投稿記事数を出力する事もできます。
色々カスタマイズしてみてください!