• 解決済 nmaru

    (@nmaru)


    はじめまして。nmaruと申します。
    カスタムタクソノミーのアーカイブページ(と呼んで良いのか…)が表示出来ず困っております。

    ーーーーー
    ■やりたい事
    カスタムタクソノミーを追加し、タクソノミー名のみのURLにアクセスした場合に、taxonomy-hoge.phpを表示したい。

    ■やった事
    1.以下のコードをfunctions.phpに記述

    $args = array(
        'hierarchical'                    => true,
        'label'                               => '業界',
        'update_count_callback' => '_update_post_term_count',
        'rewrite'                           => array(
            'slug' => 'gyokai',
            'with_front' => false
        )
    );
    register_taxonomy('gyokai', 'company', $args);

    2.taxonomy-gyokai.phpを作成

    ■現在の状況
    例えば、業界カテゴリに「car」と言うカテゴリを追加し、以下のURLでアクセスすると
    意図した通りtaxonomy-gyokai.phpが表示されます。

    http://example.com/gyokai/car

    しかし、「/car」を削除した以下のURLにアクセスすると、single.phpが表示されてしまいます。

    http://example.com/gyokai

    debug barでqueryを確認すると、termも指定した場合は「gyokai=car」となっていますが、termを削除した場合は「pagename=gyokai」となってしまっていました。
    ーーーーー

    何か設定が足りないのでしょうか?
    関係有るかは分かりませんが、設定のパーマリンク設定は「http://example.com/archives/123」にしております。

    足りない情報とがありましたらご指摘下さい。
    よろしくお願いします。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • モデレーター jim912

    (@jim912)

    WordPress には、おっしゃるような カスタムタクソノミーのスラッグのみでアクセスできるようなアーカイブは存在していません。

    なにを表示したいのか明示いただければ、なんらかの回答はできるかと思います。

    意図されている事が

    ・カスタムタクソノミーで設置したタクソノミー gyokai があり。
    ・gyokai には car とか その他もろもろの term がある。
    ・http://example.com/gyokai にアクセスしたら タクソノミー gyokai の term は何でも良いので紐付られていれば、その投稿を全て表示したい。

    という事でしょうか。

    テーマに archive-gyokai.php を設置したら そうなったような記憶があります。
    ただ、現在の現象として お使いのテーマに archive.php が設置されていれば それが表示されるのに single.php が適用されてしまうのは、可能性としては、投稿記事に gyokai というパーマリンクの記事が存在しているのかも。でも、それなら気付きますものね。

    トピック投稿者 nmaru

    (@nmaru)

    jim912様

    お返事ありがとうございます。

    なるほど、そのような機能が存在しないという事なのですね。
    表示したい内容としては、以下のようになります。

    ①http://example.com/gyokai/car → term「car」に紐付く投稿一覧
    ②http://example.com/gyokai/it  → term「it」に紐付く投稿一覧
    ③http://example.com/gyokai   → termに関係なく独自のページを表示し、①②等の各termの投稿一覧へのリンクを表示

    ③のURLにアクセスしますと「pagename=gyokai」というクエリになるという事は、「/gyokai」という固定ページを作れば良いのかとも思ったのですが、作成しようとすると自動的に「/gyokai-2」となってしまい作成出来ませんでした。

    テンプレート作成、固定ページ作成、rewriteルールの追加等、何か対応する方法は有りますでしょうか?

    トピック投稿者 nmaru

    (@nmaru)

    taku-k様

    お返事ありがとうございます。
    意図している事は、ほぼtaku-k様の解釈通りになります。
    「/gyokai」のページについては、jim912様宛に書かせて頂いた

    ③http://example.com/gyokai → termに関係なく独自のページを表示し、①②等の各termの投稿一覧へのリンクを表示

    を意図しております。

    実はarchive-gyokai.phpというテンプレートは既に作成をしていたのですが、「/gyokai」にアクセスしてもsingle.phpに振り分けられていたため記載していませんでした。申し訳ありません。

    関係あるかは分かりませんが、設定→パーマリンク設定で何も変更せずに保存というのも何度か試しております。

    今回のように「/gyoukai/car」と言ったURLの場合、ユーザとしては「/car」を削ってアクセスを試みるという事が普通に発生すると思うのですが、カスタムタクソノミーを使用している場合、そういったアクセスに対しての標準のお作法といった物は有るのでしょうか?
    404を表示するというのは違うと思い…。

    archive-gyokai.phpで表示できるのは、カスタム投稿タイプ「gyokai」のアーカイブインデックスページです。archive-{post_type}.php

    固定ページ「gyokai」を作成し、page-gyokai.phpで表示させればよいのですが、「/gyokai-2」になってしまうということは、「gyokai」がどこかで使用されているというこですよね。
    single.phpが表示されてしまうということですが、
    http://example.com/gyokai
    を表示させたときに、ツールバーに「投稿を編集」などのリンクが表示されていませんか?
    リンク先から、投稿を削除すればよいのではないでしょうか?

    トピック投稿者 nmaru

    (@nmaru)

    RocketMartue様

    お返事ありがとうございます。

    ツールバーを確認しましたところ、「メディアを編集」というリンクが有り、それをクリックしましたところ、「/gyokai」という名前でカテゴリを作成していたのが原因でした。
    そのカテゴリを削除しましたところ、「/gyokai」で固定ページを作成する事が出来ました。
    ありがとうございます。

    今回のように、カスタムタクソノミーを使用して「/taxonomy/term」というURLのページを作成した場合、「/term」の部分を削ってアクセスしてくるユーザに対しては、固定ページを用意しておくのが標準の対応方法なのでしょうか?

    今回は固定ページを作成して対応したいと思うのですが、wordpress的な標準の方法があれば、後学のために教えて頂けると有り難いです。

    よろしくお願いします。

    今回のように、カスタムタクソノミーを使用して「/taxonomy/term」というURLのページを作成した場合、「/term」の部分を削ってアクセスしてくるユーザに対しては、固定ページを用意しておくのが標準の対応方法なのでしょうか?

    これは「/taxonomy/term」というURLをどういう意図で作成するのかによると思うのですが、

    ③http://example.com/gyokai → termに関係なく独自のページを表示し、①②等の各termの投稿一覧へのリンクを表示

    を意図しております。

    ということであれば、固定ページを作成するのが一般的かなという気がします。

    トピック投稿者 nmaru

    (@nmaru)

    RocketMartue様

    迅速なご回答ありがとうございました!
    もやもやがすっきりしました。

    jim912様、taku-k様もありがとうございました。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「カスタムタクソノミーのアーカイブページについて」には新たに返信することはできません。