2017-04-11 14 views
0

私のカスタムアーカイブテンプレートを使用するのに苦労しています。誰かが間違っていて、私が戻ってきてくれますか?カテゴリを含むWordpressカスタム投稿の種類アーカイブページ

add_action('init', 'news_post_type'); 
function news_post_type() { 
    register_post_type('news', 
    array(
     'labels' => array(
     'name' => __('News'), 
     'singular_name' => __('News') 
    ), 
     'capability_type' => 'post', 
     'has_archive' => true, 
     'hierarchical' => true, 
     'public' => true, 
     'supports' => array('title','editor','excerpt','trackbacks','custom-fields','revisions','thumbnail','author','page-attributes',) 
    ) 
); 
} 
register_taxonomy('news_category', 'news',array('label' => __('Categories'),'rewrite' => array('slug' => 'news/category'),'hierarchical' => true,)); 

素晴らしいですし、URLを返します:www.mysite.com/news/category/%the_category%をちょうど私のようにここで

は、私は、カスタムポストタイプを作成するために使用したコードです欲しいです。

問題は、このCPTの各カテゴリにカスタムテンプレートを使用したいのですが、archive-news.phpというファイルを作成すると無視されます。しかし、もし私がarchive.phpというファイルを作成すると、それはうまくいきますが、これは私が欲しくない他の投稿アーカイブにも当てはまります。

テンプレートファイルの名前は正しくありませんか?私がCPTをどのように作成したかに間違いはありますか?

誰でも助けてくれれば幸いです。

感謝

+0

https://codex.wordpress.org/Category_Templates 'カテゴリslug.php、 カテゴリ-ID.php、 category.php、 archive.php、 –

+0

index.php'カテゴリにファイルの名前を変更します-news.phpは動作しませんでした:( – Ordog

+0

カテゴリのidを試してみるか、あなたのarchive.phpでこのようなことをしてください。<?php if(is_category( 'Category A')):get_template_part( 'mycustomtemplate')endif ;?> 'https://developer.wordpress.org/reference/functions/get_template_part/ –

答えて

0

このインスタンスで分類法テンプレートを使用したので、私のファイルtaxonomy-news_category.phpの名前を付けて、自分のカスタム投稿タイプのすべてのカテゴリのテンプレートを作成することができました。

カスタムポストタイプと同じ名前のページが問題を引き起こしていることも分かりました。要約すると、ページの名前を変更するか、上記のようにタクソノミテンプレートを使用します。

0

私はそのは私の側に正常に動作して、あなたのコード に確認しています。 シングル$ posttype.phpファイルの詳細ページを確認してください。

+0

私は単一のページ、間違いなくカテゴリ1を見ていないよ:) – Ordog

関連する問題