カスタム投稿で月別アーカイブが404エラーになります
-
初級者です。
いろんな参考書を見ながら、カスタム投稿のサイトをつくりました。アーカイブページのサイドバーに
<?php wp_get_archives(); ?> として
・2013年3月
・2013年2月
という表示させることができたのですが、2013年3月のリンクを押すと、404エラーになり、月間アーカイブが表示されません。
このような経験のあるかた、解決方法を教えていただければ幸いです。ちなみに パーマリンク設定は日付と投稿名にしてあります。
functionには以下のように記述してあります。
//++++++++++++++++++++++++++++++++++++++++++++++
//kokunai//カスタム投稿タイプ
register_post_type(
‘kokunaikaranojoho’,
array(
‘label’ => ‘国内からの情報’,
‘description’ => ‘国内からのがんに関するお知らせ’,
‘hierarchical’ => false,
‘public’ => true,
‘has_archive’ => true,
‘supports’ => array(
‘title’,
‘editor’,
‘excerpt’,
‘thumbnail’,‘comments’,
‘trackbacks’)
)
);//カスタムタクソノミー(カテゴリー形式)
register_taxonomy(
‘kokunaikaranojoho_cat’,
‘kokunaikaranojoho’,
array(
‘label’ => ‘国内情報のカテゴリー’,
‘hierarchical’ => false,
‘rewrite’ => array (
‘slug’ => ‘kokunaikaranojoho/cat’
)
)
);//カスタムタクソノミー(タグ形式)
register_taxonomy(
‘kokunaikaranojoho_tag’,
‘kokunaikaranojoho’,
array(
‘label’ => ‘国内情報のタグ’,
‘hierarchical’ => false,
‘rewrite’ => array (
‘slug’ => ‘kokunaikaranojoho/tag’
)
)
);//+++++++++++++++++++++++++++++++++++++++++++
//リライトルール$mycpts = get_post_types(array(‘_builtin’ => false));
foreach ($mycpts as $mycpt) {add_rewrite_rule(‘qa/cat/([^/]+)/?$’, ‘index.php?qa_cat=$matches[1]’, ‘top’);
add_rewrite_rule(‘qa/tag/([^/]+)/?$’, ‘index.php?qa_tag=$matches[1]’, ‘top’);
add_rewrite_rule($mycpt.’/([0-9]{4})/([0-9]{2})/?$’, ‘index.php?post_type=’.$mycpt.’&year=$matches[1]&monthnum=$matches[2]’, ‘top’);
add_rewrite_rule($mycpt.’/([0-9]{4})/([0-9]{2})/page/([0-9]{1,})/?$’, ‘index.php?post_type=’.$mycpt.’&year=$matches[1]&monthnum=$matches[2]&paged=$matches[3]’, ‘top’);
}
//+++++++++++++++++++++++++++++++++++++++++++
// 月別メニューfunction add_my_post_type($where, $r) {
$my_current_cpt = get_post_type();
return str_replace(
“post_type = ‘post'”,
“post_type = ‘$my_current_cpt'”,
$where
);
}
add_filter(‘getarchives_where’,’add_my_post_type’,10,2);//URLにカスタム投稿タイプを含める
function my_get_archives_link($link_html) {
return str_replace(
home_url(‘/’),
home_url(‘/’).get_post_type().’/’,
$link_html
);
}
add_filter(‘get_archives_link’, ‘my_get_archives_link’);■■■アーカイブ archive.php
<?php get_header(); ?>
<div id=”wrapper”><div id=”content”>
<?php //タクソノミー// ?>
<?php if(is_tax()): ?>
<p id=”archivetitle”>
<span>
<?php if(is_taxonomy_hierarchical($taxonomy)): ?>
カテゴリー
<?php else: ?>
タグ
<?php endif; ?>
</span>
<?php single_term_title(); ?>
</p>
<?php endif; ?><?php //年月// ?>
<?php if(is_month()): ?>
<p id=”archivetitle”><span>アーカイブ</span>
<?php echo get_the_date(‘Y年n月’); ?></p>
<?php endif; ?><?php //記事// ?>
<?php if(have_posts()): while(have_posts()): the_post(); ?>
<div class=”post”><p class=”thumb”><?php the_post_thumbnail (‘thumb150’); ?></p>
<p class=”blogtitle <?php echo get_post_type(); ?>”>
<?php echo get_post_type_object(get_post_type())->label; ?>
</p><h2>“><?php the_title(); ?></h2>
<?php the_excerpt(); ?>
<p class=”more”>“>続きを読む</p>
<p class=”postdate”><?php echo get_the_date(‘Y年n月j日’); ?></p>
</div> <!– .post –>
<?php endwhile; endif; ?><?php //ページネーション// ?>
<div id=”pagenation”>
<p class=”oldpage”><?php next_posts_link(‘« 古い記事’); ?></p>
<p class=”newpage”><?php previous_posts_link(‘新しい記事 »’); ?></p>
</div></div> <!– #content –>
<?php get_sidebar(‘blog’); ?></div>
<?php get_footer(); ?>
- トピック「カスタム投稿で月別アーカイブが404エラーになります」には新たに返信することはできません。