date.php があるのに、archive.php が表示されてしまう
-
「africa」というカスタム投稿タイプを作成しました。
日別および年別アーカイブページを表示させるため、date.php を作成しました。が、date.php ではなく、優先順位では下位にあるはずの archive.php が表示されてしまいます。試しに archive.php を削除してみると、date.php が表示されます。
プラグイン Custom Post Type Permalinks を使っています。パーマリンク設定を更新してみましたが、変わりませんでした。
記憶違いでなければ、以前は date.php が表示されていました。wordpress のアップグレードのせいかもと疑いましたが、わかりませんでした。
解決のヒントをいただけましたら助かります。テーマ:Twenty Ten をカスタマイズ
カスタム投稿名:「アフリカ」「africa」
最新記事ページ:example.net/africa ←archive.php表示
日別ページ:example.net/2014/12/22?post_type=africa ←date.php があるのに、archive.php表示
年別ページ:example.net/africa/date/2013?post_type=africa ←date.php があるのに、archive.php表示functions.php
add_action( 'init', 'create_post_type' ); function create_post_type() { register_post_type( 'africa', array( 'labels' => array( 'name' => _x('アフリカ', 'post type general name'), 'singular_name' => _x('アフリカ', 'post type singular name'), 'add_new' => _x('新しく記事を書く', 'africa'), 'add_new_item' => __('アフリカの記事を書く'), 'edit_item' => __('アフリカの記事を編集'), 'new_item' => __('新しいアフリカの記事'), 'view_item' => __('記事を見る'), 'search_items' => __('アフリカの記事を探す'), 'not_found' => __('アフリカの記事はありません'), 'not_found_in_trash' => __('ゴミ箱にアフリカの記事はありません'), 'parent_item_colon' => '' ), 'public' => true, 'has_archive' => true, 'menu_position' => 100, 'rewrite' => true, 'description' => 'RetirementAustralia' ) ); register_taxonomy( 'africa_cat', /* タクソノミーの名前 */ 'africa', /* africa投稿で設定する */ array( 'hierarchical' => true, /* 親子関係が必要なければ false */ 'update_count_callback' => '_update_post_term_count', 'label' => 'アフリカカテゴリー', 'singular_label' => 'アフリカカテゴリー', 'public' => true, 'show_ui' => true ) ); /* 年別アーカイブをカスタム投稿タイプ別に表示する */ global $my_archives_post_type; add_filter( 'getarchives_where', 'my_getarchives_where', 10, 2 ); function my_getarchives_where( $where, $r ) { global $my_archives_post_type; if ( isset($r['post_type']) ) { $my_archives_post_type = $r['post_type']; $where = str_replace( '\'post\'', '\'' . $r['post_type'] . '\'', $where ); } else { $my_archives_post_type = ''; } return $where; } add_filter( 'get_archives_link', 'my_get_archives_link' ); function my_get_archives_link($link_html) { global $my_archives_post_type; if ($my_archives_post_type != '') { $add_link = '?post_type=' . $my_archives_post_type; $link_html = preg_replace("/href=\'(.+)\'/", "href='$1" . $add_link. "'", $link_html); } return $link_html; }
WordPress のバージョン:4.1
PHP、MySQL のバージョン:PHP5.4.7 MySQL 5.5.27
サーバー環境:さくらインターネット
2件の返信を表示中 - 1 - 2件目 (全2件中)
2件の返信を表示中 - 1 - 2件目 (全2件中)
- トピック「date.php があるのに、archive.php が表示されてしまう」には新たに返信することはできません。