閉じる

技術ブログ

Custom Post Type UIによるリライトの設定

2022.10.27

「Custom Post Type UI」のリライトを使用したURL変更

「Custom Post Type UI」のには以下の項目があります。

設定することでURLを変更することが可能です。

上のカスタムリライトスラッグに何を設定したらよいか、また設定内容にディレクトリーを含めることが可能なのかを検証します。

前提:「Custom Post Type UI」のカスタムリライトスラッグに何を設定したらよいか

例:カスタム投稿タイプ「topics」のURLを「blogs」として使用することが可能か

https://(ドキュメントルート)/topics/

↓ ↓ 以下としたい

https://(ドキュメントルート)/blogs/

希望のパス(この場合blogs)を設定すれば、https://(ドキュメントルート)/blogs/のような形で、カスタム投稿タイプtopicsが表示されます。

「Custom Post Type UI」で以下の設定を行った場合、カスタム投稿タイプ「topics」のURLを「blogs」として使用することが可能
  • 投稿タイプスラッグ:topics
  • リライト:真
  • カスラムリライトスラッグ:blogs

※実際にはパーマリンク設定を管理画面から更新してください。

設定内容にディレクトリー(「/」スラッシュ)を含めることが可能なのか。

例:カスタム投稿タイプ「topics」のURLを「hogehoge/topics」として使用したい

https://(ドキュメントルート)/topics/

↓ ↓ 以下としたい

https://(ドキュメントルート)/hogehoge/topics/

「Custom Post Type UI」で以下の設定を行った場合、(「/」スラッシュ)を含めることが可能。
  • 投稿タイプスラッグ:topics
  • リライト:真
  • カスラムリライトスラッグ:hogehoge/topics

※実際にはパーマリンク設定を管理画面から更新してください。

「Custom Post Type UI」でリライト設定をした場合の、テンプレートとの関係

例:カスタム投稿タイプ「topics」のURLを「hogehoge/topics」として使用したい場合、

  • archive-topics.php
  • single-topics.php
  • taxonomy-post-type-topics.php(※pressx.jpテンプレートを利用の方のみ)

がカスタム投稿タイプ「topics」のテンプレートとして利用可能です。

「Custom Post Type UI」カスタムリライトスラッグ適用で、どのような設定が裏側でなされるのか?

内部のコードでは何が起こっているのでしょうか。

「Custom Post Type UI」でリライトを設定することで、リライトルール($wp_rewrite->rules)が設定されます。

リライトルールは以下で確認可能です

設定は、$wp_rewrite->rulesに格納されています。

※一部のリライトはpress.jpのテンプレート利用時のみのリライトです。

リライトとは、「あるURLをWordPressが理解できる形に変換して伝える」ということをしています。

例えば、

では、hogehoge/topics/で接続した場合、「投稿タイプはtopicsだよ」ということを、WordPressが理解できるよう設定してくれています。