• 解決済 motoraji

    (@motoraji)


    カスタム投稿タイプとフロントページの表示=>固定ページの設定を利用して

    • Home(example.com=フロントページの表示=>固定ページにてフロントページに指定)
    •   Blog(example.com/blog=フロントページの表示=>固定ページにて投稿ページに指定)
    •   Portfolio(example.com/Portfolio=カスタム投稿タイプのインデックス)
    •   About

    というような構成のサイトを考えているのですが、Blog、Portfolioの各記事のパーマリンクをそれぞれ

    [Blog] example.com/blog/%category%/%post_id%
    [Portfolio] example.com/Portfolio/%post_id%

    というような、階層構造にしようとした所でつまずいています。

    問題は、フロントページの表示=>固定ページの設定で、BlogトップのURLを変更しても、個別記事のパーマリンクは、example.com の直下から始まってしまう事です。

    この問題は普通ならば、パーマリンク設定で

    /blog/%category%/%post_id%/

    とすることで解決できるのだと思うのですが、これだとカスタム投稿タイプの記事のパーマリンクにも/blog/ が入ってしまいます。

    ◯:example.com/blog/%category%/%post_id%
    ◯:example.com/portfolio/%post_id%
    ×:example.com/blog/portfolio/%post_id%

    (ちなみに、カスタム投稿タイプのパーマリンクは Custom Post Permalinks というプラグインで /%post_type%/%post_id%/ 表示にしています)

    僕が考えられる最も簡単な解決法は、Blogに「blog」カテゴリーをつくって、カテゴリーベースを消すという方法ですが、せっかくカスタムポストで投稿内容を分離したのに…という気持ちもあり、なんだかすっきりしません。

    パーマリンク設定を使わずに、個別記事のパーマリンクの頭に/blog/を挿入する、もしくはカスタム投稿のタイプパーマリンクについた/blog/を消す事って出来るのでしょうか?

    階層構造を気にするなと言われればそれまでですが…もし方法がなければ上記のようにプラグインで対応しようと思っています。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック投稿者 motoraji

    (@motoraji)

    さらに調べていたら、

    http://ja.forums.wordpress.org/topic/6686

    のように、Wordpressの「投稿」とは別にBlog用のカスタム投稿タイプをつくって運用すれば実現出来そうだとわかりました。
    この他にもっとスマートな解決方法があれば教えて下さい。

    カスタム投稿タイプはfunctions.php に定義したものですか?
    だとしたら、register_post_type() の rewrite に ‘with_front’ => false を設定すれば、カスタム投稿タイプについた/blog/を消す事はできますよ。

    が、Custom Post Permalinks との兼ね合いは分かりません。

    トピック投稿者 motoraji

    (@motoraji)

    横着してプラグインを使っていたので、同等の内容を functions.php にセットし、rewrite に ‘with_front’ => false を追加してテストしてみました。

    完全に思い通りの動作になりました!ありがとうございます!

    Custom Post Permalinks は軽く試してみただけですが、とりあえず外見上の不具合はないようです。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「カスタム投稿タイプ フロントページの表示=>固定ページでのパーマリン」には新たに返信することはできません。