サポート » 使い方全般 » カスタムタクソノミーのテンプレート

  • カスタムタクソノミーのテンプレートについて、
    よく分からず、質問させていただきます。

    あああの事例ページには、あああに属するカテゴリー一覧が出るページ、
    その各カテゴリー名をクリックすると、カテゴリーに属する記事一覧が出るページを作りたいと思っております。

    カスタムタクソノミーについては、functions.phpに以下のように記述しました。

    register_post_type(
    		'case_aaa',
    		array(
    			'label'=> 'あああの事例',
    			'public' => true,
    			'hierarchical'=> false,
    			'has_archive' => true,
    			'supports' => array(
    				'title',
    				 'thumbnail'
    			),
    			'menu_position' => 8
    		)
    	);
    
    	register_taxonomy(
    		'case_aaa_cat',
    		'case_aaa',
    		array(
    			'label' => 'あああの事例のカテゴリー',
    			'public' => true,
    			'hierarchical' => true,
    		)
    	);

    「あああの事例を見る」のボタンに対しては、
    <a href="<?php bloginfo('url'); ?>/case_aaa">あああの事例を見る</a>
    とし、
    archive-case_aaa.php
    とすると、あああに属するカテゴリー一覧が出るページが表示できました。

    しかし、そこから各カテゴリーのボタンをクリックすると、
    カテゴリーに属する記事一覧が出るページへリンクすることができません。

    テンプレートは、どのようにするのが正解なのでしょうか?

    ちなみに、個別の記事ページは必要ないのですが、
    single-case_aaa.phpで、各個別記事は表示できます。

    ご教授のほど、何卒よろしくお願いいたします。
    (WP初心者なため、なるべく初心者でも理解できるように教えていただけますと幸いです。)

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    まずは「テンプレート階層」を確認してみましょう。
    テンプレート階層とは、表示したいページの種類に応じて、どう言ったファイル名のテンプレートファイルが適用されるかの優先順位のルールのことです。

    で、テンプレート階層を確認すると、sarasarariさんがおっしゃる「あああに属するカテゴリー一覧」というのは「カスタム分類アーカイブインデックスページ」に当たります。

    Codexには以下のように記載されています。

    カスタム分類表示

    カスタム分類アーカイブインデックスページの表示に使用されるテンプレートファイル。

    taxonomy-{taxonomy}-{term}.php – 分類名が sometax、項目が someterm ならば WordPress は taxonomy-sometax-someterm.php を探す。投稿フォーマットの場合、分類名は ‘post_format’、項目は ‘post_format-{format}’、つまり taxonomy-post_format-post-format-link.php 。
    taxonomy-{taxonomy}.php – 分類名が sometax ならば WordPress は taxonomy-sometax.php を探す。
    taxonomy.php
    archive.php
    index.php

    つまり、たとえばtaxonomy-case_aaa_cat.phpを用意すれば、それが適用されます。
    なければtaxonomy.phpやarchive.php、index.phpが適用されます。

    まずは現在、どのテンプレートがあたっているのかを確認してみてください。
    Show Carrent Templateプラグインの導入がおすすめです。

    ※カスタムタクソノミー(分類)を使っている時に「カテゴリー」という言葉を使ってしまうと、最初から用意されている「カテゴリー」と混同してしまう可能性があるので、こういったフォーラムでは面倒でもあえて「カスタムタクソノミー(カスタム分類)」と正しく書いたほうが解決につながりやすいです。

    トピック投稿者 sarasarari

    (@sarasarari)

    mypacecreator様

    ご回答をありがとうございました。
    また、書き方も含めましてご丁寧に教えていただき、大変感謝申し上げます。

    先ほどの「あああの事例ページ」に当たっていたテンプレートを削除し、
    新たにtaxonomy-case_aaa_cat.phpをアップしたところ、
    お教えいただいたプラグインでは、index.phpとなってしまい、トップページが出てしまいました・・。

    モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    新たにtaxonomy-case_aaa_cat.phpをアップしたところ、
    お教えいただいたプラグインでは、index.phpとなってしまい、トップページが出てしまいました・・。

    ということは、何かが間違っていますね。
    どこが間違っているかまではいただいた情報だけでは判断できませんが、
    例えば、「あああの事例ページ」のだと思っているURL自体が間違っていて、実は404だったとか。。。(確認ですが、お使いのテーマに404.phpはありますか?「ページが見つかりません」の代わりにindex.phpが表示されているケースもあるので、なければ作ってください。)

    しかし、そこから各カテゴリーのボタンをクリックすると、
    カテゴリーに属する記事一覧が出るページへリンクすることができません。

    に書かれている「各カテゴリーのボタン」というのは、
    こちらのトピックで実装されたものということでよろしでしょうか?

    トピック投稿者 sarasarari

    (@sarasarari)

    mypacecreator様

    ありがとうございます。
    404.phpをまだアップしていませんでしたので、アップしましたが、
    やはりindex.phpを参照しにいっております。

    それから、各カテゴリーのボタンの件ですが、
    ご教授いただいたトピックスのことで間違いありません。

    確認の意味で固定ページにカスタム投稿のカテゴリー一覧ページを作って、
    手作業でカテゴリーのリンク集を作ってみたらいいとおもいます。
    カテゴリーの数が多くないならそのまま採用してもいいかもしれません。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「カスタムタクソノミーのテンプレート」には新たに返信することはできません。