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

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

新規登録して質問してみよう
ただいま回答率
87.20%
URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

解決済

WordPress カスタム投稿 リンクが想定通りにならない

nekora
nekora

総合スコア481

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

1回答

0評価

0クリップ

482閲覧

投稿2021/07/14 23:05

編集2021/07/16 01:11

記述途中で送信されてしまったので。編集・追記しました。現状が本来の質問文です。

カスタム投稿のURLが想定通りにならない

いつも、こちらではお世話になっております。自分でもお返しをといくつかの質問に回答したりしているのですが、
今回どうしても当方の知識不足で解決できない問題に直面しました。

概要

現在障害者の支援事例のページ作成を請け負っているのですが、
register_post_typeしてカテゴリー用にregister_taxonomy、タグ用にregister_taxonomyしています。

パーマリンクの設定も行っているのですが、想定通りのURLでは表示されず。カテゴリー名の前にregister_taxonomyに指定したカテゴリーのslugを書いてそのあとにslugの値のカテゴリー名を書くと表示されます。

https://foo.ber.com/カテゴリー名/タグ名/記事タイトル

と、なるようにしたいのですが、3日調べまくって悩んでいるのですが、もうお手上げで、こちらの先達の皆様にご教授いただければ幸いです。

参考にしたページのURL

http://mtrad-blog.com/2020/02/28/post-789/
https://qiita.com/TakumiIt0/items/e7ac318c45565d762961
https://www.webdesignleaves.com/pr/wp/wp_custom_post_type.html

上手くいってない現在のコード

カスタム投稿を定義しているphpファイル。function.phpにincludeしてあります。

php

<?php // 参考サイト:http://mtrad-blog.com/2020/02/28/post-789/ //      :https://qiita.com/TakumiIt0/items/e7ac318c45565d762961 //      :https://www.webdesignleaves.com/pr/wp/wp_custom_post_type.html /* カスタム投稿タイプ */ //支援事例ページに関する関数です add_action( 'init', 'create_cos_support_beta' ); function create_cos_support_beta() { register_post_type( 'support2', /* post-type */ //カスタム投稿タイプ名 array( 'labels' => array( 'name' => __( '支援事例β' ), //表示するタイトル 'singular_name' => __( '支援事例β' ) ), // その他の設定 'public' => true, //一般公開 'show_ui' => true, //管理画面に表示 'query_var' => true,//管理画面で記事一覧を表示 'has_archive' => true, /* アーカイブページを持つ */ 'rewrite' => array('slug' => 'support2', 'with_front' => false), //記事URLの設定 'taxonomies' => array('support2-cat', 'support2-tag'), ) ); register_taxonomy( 'support2-cat', /* タクソノミーの名前(カテゴリーの名前) */ 'support2', array( 'hierarchical' => true, //カテゴリータイプの指定 'update_count_callback' => '_update_post_term_count', //ダッシュボードに表示させる名前 'label' => '支援種別', 'singular_label' => '支援種別', 'labels' => array( 'all_items' => '支援種別カテゴリ一覧', 'add_new_item' => '支援種別カテゴリを追加' ), 'public' => true, //一般公開 'rewrite' => array('slug' => 'support2-cat', 'with_front' => false, 'hierarchical' => true, 'ep_mask' => true), //記事URLの設定 'has_archive' => true, /* アーカイブページを持つ */ 'show_ui' => true, //管理画面に表示 'supports' => array( //記事編集画面に表示する項目を配列で指定することができる 'title', //タイトル 'editor', //本文の編集機能 'revisions' //リビジョンを保存 ), ) ); register_taxonomy( 'support2-tag', /* タクソノミーの名前(タグの名前) */ 'support2', array( 'hierarchical' => false, //タグタイプの指定(階層をもたない) 'update_count_callback' => '_update_post_term_count', //ダッシュボードに表示させる名前 'label' => '症病名', 'public' => true, //一般公開 'rewrite' => array('slug' => 'support2-tag', 'with_front' => false, 'hierarchical' => true, 'ep_mask' => true), //記事URLの設定 'has_archive' => true, /* アーカイブページを持つ */ 'show_ui' => true, //管理画面に表示 ) ); } ?>

カスタムパーマリンクの設定
カスタムパーマリンクの設定
カテゴリーの設定
カテゴリーの設定
タグの設定
タグの設定

現在の状況

http://foo.bar.net/mental-illness/ → 404エラーになる
http://foo.bar.net/support2-cat/mental-illness/ → ●ページが表示される
http://foo.bar.net/mental-illness/うつ病/ → 404エラーになる
http://foo.bar.net/support2-cat/mental-illness/support2-tag/うつ病/ → 404エラーになる
http://foo.bar.net/うつ病/ → 404エラーになる
http://foo.bar.net/support2-tag/うつ病/ → ●ページが表示される

成し遂げたい事

http://foo.bar.net/mental-illness/
http://foo.bar.net/mental-illness/うつ病/

上記の時のみページが表示されて、他はエラーになるようにしたい。

用意してあるテンプレートファイル

archive-support2.php
single-support2.php
taxonomy-support2.php
taxonomy-support2-cat.php
taxonomy-support2-tag.php

何か不足情報などありましたらご指摘ください。すぐに対応します。
なにとぞ、諸先輩方、よろしくお願いしますm(_ _)m

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。