サポート » 使い方全般 » taxonomyテンプレートを使いたいが、index.phpが呼び出される

  • 解決済 spicablue

    (@spicablue)


    Custom Post Type UI を使って、
    カスタム投稿「photo」(階層false)を作成し、
    それに関連づけたカスタムタクソノミー「category」を、階層true、リライトtrueの設定で作成しました。

    category内で、以下のように親子関係を持たせたタームを作成しました。

    • cat-nail
    • ーcute(子)
    • ーpop(子)

    子ターム毎の一覧ページを作りたいので、
    テンプレート「taxonomy-category.php」を作り、
    カスタム投稿「photo」用の「archive-photo.php」から、リンクを以下のように書きました。

    <a href="<?php echo esc_url( home_url() ); ?>/category/cute/">このカテゴリーの一覧を見る</a>

    これでリンクをクリックすると、index.phpが呼び出されます。

    リンクの書き方がおかしいかと思い、
    「/category/」「/category/cat-nail/cute/」「/cute/」
    などと変更しても、同じくindex.phpが呼び出されます。

    ファイル名も、リンクと同じく色々変えてみましたが、同じです。

    パーマリンク設定は、カスタム構造としています。

    http://localhost/wp/%category%/%post_id%/

    変更なし保存もやりましたが、同じです。

    ローカルホストで作成していますが、サーバにアップしても同じ現象です。

    何か基本的なことが間違っているのかもと思い色々調べましたが、
    行き詰まってしまいました。
    ご教授お願いいたします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック投稿者 spicablue

    (@spicablue)

    パーマリンクを

    http://localhost/wp/%category%/%postname%/

    http://localhost/wp/%category%/

    などと変更していたら、今度はhome.phpが呼び出されるようになりました。

    パーマリンクを元に戻しても、やっぱりhome.phpが呼び出されます。

    indexや404ならまだしも、なぜhomeなのでしょう…?

    カスタムタクソノミー「category」は、ビルトインのタクソノミー(通常のカテゴリー)「category」と名前が重なります。名前を「photo_category」とかにすべきです。

    昔、カテゴリーのテンプレート「taxonomy-category.php」と「category.php」を作ったら、どちらが優先されるのだろうと実験してみたところ、「taxonomy-category.php」は決して認識されることがないようです。なので、「category.php」や「archive.php」がなければ、「index.php」になるのだと思います。

    トピック投稿者 spicablue

    (@spicablue)

    早速お返事いただき、ありがとうございます。
    本当に基本的なことが分かっていませんでした!
    優先順位も教えていただき、ありがとうございます。

    早速修正しましたところ、今度は404エラーとなりました。

    手順は以下の通りです。

    • パーマリンク設定を「/%category%/%post_id%/」に戻す
    • カスタムタクソノミー名を「images」に変更
    • ファイル名を「taxonomy-images.php」に変更
    • リンク先URLを「<?php echo esc_url( home_url() ); ?>/images/」に変更

    これで404ページが呼び出されます。

    他に試したことは、タクソノミー名を「photo_category」「photo-category」などに変更しました。
    また、ローカルでも、サーバアップしても同じ現象です。

    タクソノミーアーカイブなら

    <?php echo esc_url( home_url() ); ?>/images/ターム名/

    で、
    taxonomy-images.php
    が適用されると思います。サイドバーあたりに

    <ul>
    <?php wp_list_categories('title=li&taxonomy=images'); ?>
    </ul>

    と記述するとわかると思います。

    トピック投稿者 spicablue

    (@spicablue)

    ありがとうございます!

    ターム名を入れるのを、忘れていました。

    ターム名一覧の取り出し方も、ありがとうございます!

    また、タクソノミー名を変更したことで、
    カスタムポストで既に投稿済みの記事での、タクソノミーの関連づけが外れたことで、
    ちょっと完了が遅れました。

    初歩的なトラブルにおつきあいいただき、感謝です!

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「taxonomyテンプレートを使いたいが、index.phpが呼び出される」には新たに返信することはできません。