【WordPress】カスタム投稿タイプのパーマリンクを思い通りに変更する方法
こんにちは,インターンの近藤です.
カスタム投稿タイプのパーマリンクを変更する時,なかなか思い通りにいかず苦戦したので,今回は,「ターム別記事一覧(taxonomy.php)」「single-スラッグ名.php」対象にパーマリンクを変更する方法についてまとめたいと思います.
デフォルトのパーマリンク設定
まず.カスタム投稿タイプのデフォルトパーマリンクを見ていきましょう
今回のカスタム投稿タイプ,カスタムタクソノミー,ターム,記事詳細のスラッグ名は以下とします.(全部で4種類)
- カスタム投稿タイプ:paraluxblog
- カスタムタクソノミー:paralux-cat
- ターム:blog
- 記事詳細:article
階層構造は以下のようになっています.
「タクソノミー?ターム?って何だっけ」という人は,以下の記事がおすすめです.
カスタム投稿タイプ記事一覧(archive-paraluxblog.php)
https://サイト名/カスタム投稿名
https://paralux.co.jp/paraluxblog
ターム別記事一覧(taxonomy.php)
https://サイト名/カスタムタクソノミー名/ターム名
https://paralux.co.jp/paralux-cat/blog
ターム別記事一覧には,カスタム投稿名(paraluxblog)は入りません
記事詳細(single-paraluxblog.php)
https://サイト名/カスタム投稿名/記事詳細
https://paralux.co.jp/paraluxblog/article
記事詳細には,カスタムタクソノミー名(paralux-cat),ターム名(blog)は入りません.
カスタム投稿タイプ記事一覧は,変更する必要はあまりないと思います.
今回は,ターム別記事一覧(taxonomy.php)と記事詳細(single-paraluxblog.php)のパーマリンクを変更していきます.
記事詳細(single-paraluxblog.php)パーマリンク変更方法
記事詳細のパーマリンク変更について実践していきます.
デフォルトのパーマリンク
https://サイト名/カスタム投稿名/記事詳細
https://paralux.co.jp/paraluxblog/article
目標のパーマリンク
今回は,記事詳細をID表示に設定していきます.
https://サイト名/カスタム投稿名/記事ID
https://paralux.co.jp/paraluxblog/1
STEP1:プラグイン「Custom Post Type Permalinks」をインストール
プラグインを使用すれば,簡単に設定することができます.
左メニューの「プラグイン」から
「新規追加」を選択
「custom type permalinks」を検索するとプラグインが出てきます.
STEP2:パーマリンクを変更
左メニュー「設定」→「パーマリンク設定」
プラグインをインストールすると,項目が増えているのでparaluxblogの部分に「/%post_id%/」を追加
変更後のパーマリンク
変更後のパーマリンクは以下のようになります.
https://サイト名/カスタム投稿名/記事ID
https://paralux.co.jp/paraluxblog/1
ターム別記事一覧(taxonomy.php)パーマリンク変更方法
それでは,ターム別記事一覧のパーマリンク変更について実践していきます.
デフォルトパーマリンク
https://サイト名/カスタムタクソノミー名/ターム名
https://paralux.co.jp/paralux-cat/blog
目標のパーマリンク
ターム別記事一覧のパーマリンクに,カスタム投稿名(newsやblog)を含めたい場面を想定し,以下のパーマリンクを目標に設定していきます.
https://サイト名/カスタム投稿名/ターム名
https://サイト名/paraluxblog/blog
カスタムタクソノミーのスラッグ名をカスタム投稿名に変更して目標のパーマリンクを設定していきます.
functions.phpの中に以下のように記述します
register_taxonomy(
'paralux-cat',
'paraluxblog',
array(
'hierarchical' => true,
'label' => 'カテゴリー',
'show_ui' => true,
'query_var' => true,
'public' => true,
'rewrite' => array('slug'=>'paraluxblog'),//paralux-catを変更
)
);
rewrite部分で,パーマリンクを変更することで,カスタムタクソノミーをカスタム投稿名に変更できます.
変更後のパーマリンク
変更後のパーマリンクは以下のようになります.
https://サイト名/カスタム投稿名/ターム名
https://サイト名/paraluxblog/blog
最後に
今回は,カスタム投稿タイプのパーマリンクを変更する方法についてまとめました.次回もよろしくお願いします.