カスタム投稿タイプのパーマリンクを変更する

カスタム投稿タイプ(カスタムポストタイプ)のパーマリンクは「?投稿タイプ名=投稿名」のような形(パーマリンク設定が「デフォルト」の場合)か「/投稿タイプ名/投稿名/」(「デフォルト」以外)になりますが、別の形に変更したい場合は下記のようにします。

パーマリンクを「/投稿タイプ名/投稿ID/」など、投稿タイプ名から始まる別の形にする

この場合はプラグインの「Custom Post Type Permalinks」を使うのが便利です。/投稿タイプ/投稿ID/ /投稿タイプ/投稿名/投稿ID/ などの対応や、タクソノミーの対応もできます。

※ タクソノミーの対応は「カスタム投稿タイプのパーマリンクを変更する『Custom Post Type Permalinks』 | KoToRi Blog」 さんが詳しいです。

パーマリンクを「/別の名前A/別の名前B/投稿名/」の形にする

「URLは固定ページの下の階層のページように扱いたいけど固定ページとは管理は別にしたい」というような場合で例えば「/別の名前/別の名前/投稿名/」のような形にしたいときは、下記のように行います。

カスタム投稿タイプの設定をfunctions.phpに記載している場合

register_post_type()のrewrite → slugに「別の名前A/別の名前B」のように記載します。

※ コードを追加した後、パーマリンク設定で「デフォルト」以外を選んで「変更を保存」ボタンを押して下さい。

Custom Post Type UIを使用している場合

プラグインの「Custom Post Type UI」を使用している場合は、設定した投稿タイプの「カスタムリライトスラッグ」の欄に「別の名前A/別の名前B」のように記載して設定を保存すると実現できます。

スクリーンショット_2015-12-17_1_12_40

更新履歴

  • 2015/12/17 初版ではadd_permastruct()という関数を使用していましたが、使用しなくてもできるようでしたので簡単な方法に変更しました。
  • 2015/04/19 初版

コメント

内容の誤りなどがありましたら下記からご連絡をお願いします。頂いたコメントは基本的に公開されることはありません(必要な場合は個別に返信させて頂きます)。

CAPTCHA