@kinacoco

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

WordPressの投稿ページと固定ページのURL構造について

解決したいこと

WordPressにて投稿ページと固定ページに同一のURLベース(例では「topics」)を含めるにはどうすればよいでしょうか?
特に固定ページでは任意のページにだけURLベースを追加したいです。
例えば以下のような形を想定しています。

■投稿ページの例(末尾にトピックID)
https://example.com/topics/123

■固定ページの例(トピックに関連する記事のみURLベースにtopicsを含める)
・トピックの投稿ページ(topicsあり)
 ⇒https://example.com/topics/make-a-topic
・トピックの検索ページ(topicsあり)
 ⇒https://example.com/topics/search
・サイトについて(topicsなし)
 ⇒https://example.com/about
・サイトへの問い合わせ(topicsなし)
 ⇒https://example.com/contact

自分で試したこと

投稿ページに関しては問題なく、ワードプレスの「設定 > パーマリンク設定」からカスタム構造にtopicsを含めることで意図通りのURLとなっています。

固定ページに関しては、親子関係を作ってみました。
親ページ:https://example.com/topics
子ページ:https://example.com/topics/make-a-topic
子ページ:https://example.com/topics/search

ただ上記のように設定したところ、投稿ページにアクセスしようとしたときに意図しない動作となってしまいました。
アクセスしたいページ:https://example.com/topics/123
表示されたページ:https://example.com/topics

topicsの部分が同一となっているページが存在すると、topics/○○○/まで辿り着けない仕様なのでしょうか…。
どのようにすれば目的のURL構造のサイトを実現できるのか教えていただきたいです。

0 likes

1Answer

現状、WordPressにはブロックテーマとクラシックテーマという2つの制作方法があるのですが、クラシックテーマを前提として回答させていただきます。

※もし質問者様がブロックテーマでサイトを制作されている場合、以下の回答が適さない場合もあるかもですがご了承ください。

どちらもカスタムテンプレートを使えばどうだろうと感じました。

  • 投稿ページだとsingle-topics.php
    または通常(WordPress標準)のカテゴリやタグでも良いかも
  • 固定ページだとpage-topics.php

詳しくはこちらを確認いただければと思いますが、WordPressにはテンプレート階層というものがあり、ページURLに準拠したテンプレート(ファイル)内容からHTMLデータを生成する仕組みとなっています。

スクリーンショット 2025-05-20 9.32.21.png

そのため、カスタムテンプレートを使えば期待することを実現できるように思います。

少しでも参考になりますと幸いです。

0Like

Your answer might help someone💌