WordPress

TypesとCustom Post Type Permalinksを使ってカスタム投稿のパーマリンクをいい感じにしたメモ

こっち変えたりあっち変えたり、ゴソゴソやって大変だったー。
次にクマらないようにめも (○・(エ)・○)

たとえば、 books というカスタム投稿タイプで book_type というタクソノミーを使うとする。

http://example.com
  -books(カスタム投稿タイプ)
    -book_type(タクソノミー)
     -type01
     -type02
     -type03

みたいな階層だったら、パーマリンクは

http://example.com/books/type01/111(記事ID)/

にしたいとする。

Typesの設定

「カスタム投稿タイプを編集」でチェック必須なところ

・リライト
・has_archive

「タクソノミーを編集」でチェック必須なところ

・階層化 – 投稿カテゴリーのように、親子関係があり、チェックボックスによりタクソノミーを選択
・リライト
・階層化された URL

Custom Post Type Permalinksの設定

「カスタム投稿タイプのパーマリンクの設定」で、下記のように指定。

たとえば book_type というタクソノミーについて指定したかったら

/%book_type%/%post_id%/

と記載する。

そして、「カスタム分類のアーカイブのパーマリンクを変更する。」にチェックを入れる。

最後に

このままだと

http://example.com/books/book_type/type01/111(記事ID)/

ってなって「book_type」が余計なので、これを取り除く。
それには下記のソースをfunctions.phpに記載・

//カスタム投稿パーマリンク「/taxonomy/」削除
function my_custom_post_type_permalinks_set($termlink, $term, $taxonomy){
    return str_replace('/'.$taxonomy.'/', '/', $termlink);
}
add_filter('term_link', 'my_custom_post_type_permalinks_set',11,3);

参考記事:http://yumeneko.pmfan.jp/wordpress/plugins/custom-post-custom-taxonomy.html

Previous Post Next Post

You may also like

Leave a comment

Leave a Reply