質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.86%

Wordpressでカスタム投稿タイプとカスタムタクソノミーのディレクトリの親子関係を正しく設計したい

受付中

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 58

gamips

score 43

Wordpressのカスタム投稿タイプ、カスタムタクソノミーのディレクトリ構造を以下のように正しいネスト構造にしたいと思っていますが、上手く動いてくれない状況です。

  • カスタム投稿タイプ
    http://localhost/(投稿タイプ)/(ターム名)/(投稿名)/
    例 : http://localhost/solution/security/norton/

  • カスタムタクソノミー
    http://localhost/(投稿タイプ)/(ターム名)/
    例 : http://localhost/solution/security/

  • アーカイブ(一覧ページ)
    http://localhost/(投稿タイプ)/
    例 : http://localhost/solution/

問題点

カスタムタクソノミーにrewrite_slug: .をいれると、カスタムタクソノミーページが404エラーになってしまいます。
カスタム投稿タイプ、アーカイブは正常に表示されています。

現在の設定

Custom Post Type UI

カスタム投稿タイプの設定 (テンプレート:single-solution.php)

name: solution
label: ソリューション
singular_label: ソリューション
description: ""
public: true
publicly_queryable: true
show_ui: true
show_in_nav_menus: true
delete_with_user: false
show_in_rest: true
rest_base: ""
rest_controller_class: ""
has_archive: true
has_archive_string: ""
exclude_from_search: false
capability_type: post
hierarchical: false
rewrite: true
rewrite_slug: ""
rewrite_withfront: false
query_var: true
query_var_slug: ""
menu_position: 5
show_in_menu: true
show_in_menu_string: ""
menu_icon: ""
custom_supports: ""

カスタムタクソノミーの設定 (テンプレート:taxonomy-solution_category.php)

name: solution_category
label: カテゴリー
singular_label: カテゴリー
description: ""
public: true
publicly_queryable: true
hierarchical: true
show_ui: true
show_in_menu: true
show_in_nav_menus: true
query_var: true
query_var_slug: ""
rewrite: true
rewrite_slug: .
rewrite_withfront: true
rewrite_hierarchical: true
show_admin_column: false
show_in_rest: true
show_in_quick_edit: ""
rest_base: ""
rest_controller_class: ""
meta_box_cb: ""

カスタム投稿タイプのパーマリンクの設定
http://mit.xii.jp/solution/%solution_category%/%postname%/

カスタムタクソノミーのパーマリンク設定
カスタマイズされたカスタムタクソノミーのパーマリンクを使用する。 =>チェックしています。
これをオンにした場合、カスタムタクソノミーのパーマリンクは、http://mit.xii.jp/post_type/taxonomy/term となります。
と表記されています。


どなたか、アドバイスいただける方いらっしゃいましたらご教授いただけないでしょうか?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

0

phpを直接作成してみる方法はいかがでしょうか??

taxonomy-〇〇.php
archive-〇〇.php
single-〇〇.php

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/01/10 18:05

    ありがとうございます。
    以下のもので作成していますが、表示されない状況です。
    single-solution.php
    taxonomy-solution_category.php

    キャンセル

  • 2020/01/10 18:40

    custom post type UIを外し、functionsに直接記述するのは試されましたか??

    キャンセル

  • 2020/01/13 16:40

    試してみましたがこちらもダメでした。

    キャンセル

0

これをfunctionsに書き、表示されないでしょうか?
すでにタクソノミーはあるとのことでしたので!

function create_post_type(){
    global $wp_rewrite;
    $wp_rewrite->flush_rules();
    register_post_type('カスタム投稿名',
        array(
            'label' => '投稿',
            'labels' => array(
                'all_items' => '一覧'
            ),
            'description' => '',
            'public' => true,
            'show_ui' => true,
            'show_in_menu' => true,
            'capability_type' => 'post',
            'hierarchical' => false,
            'rewrite' => array(
                'slug' => 'news',
                'with_front' => false,
                'feeds' => false,
                'pages' => true,
            ),
            'query_var' => true,
            'has_archive' => true,
            'exclude_from_search' => false,
            'menu_position' => 5,
            'supports' => array(
                'title',
                'editor',
                'revisions',
                'thumbnail',
                'page-attributes',
            ),
        )
    );
    register_taxonomy(
        '', //タグ名(任意)
        '', //カスタム投稿名
        array(
            'label' => 'タグ',
            'singular_label' => 'タグ',
            'labels' => array(
                'add_new_item' => 'タグを追加'
            ),
            'public' => true,
            'show_ui' => true,
            'show_in_nav_menus' => true,
            'hierarchical' => false
        )
    );
    register_taxonomy(
        '',// カスタム分類名
        '',// カスタム投稿名
        array(
            'label' => 'お知らせカテゴリ',// 管理画面などで表示される名前
            'singular_label' => 'カテゴリ',
            'labels' => array(
                'all_items' => 'カテゴリ一覧',
                'add_new_item' => 'カテゴリを追加'
            ),
            'hierarchical' => true,
            'show_ui' => true,
            'query_var' => true,
            'rewrite' => array('slug' => 'category'),
            'show_in_rest' => true,
            'exclude_from_search' => false
        )
    );
}
add_action('init', 'create_post_type');

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/01/15 11:45

    ありがとうございます。上記であれば表示されますが、実現したいことが、質問文の通りタクソノミーと記事のURLを正しいネスト構造にしたいというところにあります。それに合わせて上記のfunctionを変更してもやはりタクソノミーが404になってしまっています。

    キャンセル

  • 2020/01/15 13:53

    管理画面の中の設定からパーマリンク設定に入り、
    カスタム投稿タイプのパーマリンク設定の設定に/%postname%/を入れてみても動かないですか?
    共通設定も/%postname%/でしています。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.86%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる