サポート » 使い方全般 » カスタム投稿で、パーマリンクの「カスタム構造」を反映させなくしたい

  • 解決済 mokeco

    (@mokeco)


    お世話になります。
    WordPressをCMSとして使い、ウェブサイトの制作をしています。

    これまで、ブログのページは
    パーマリンク設定の部分で
    /blog/%category%/%postname%/
    としており、single.phpで表示した際のURLが
    http://example.com/blog/category/postname/
    の形になるようにしていました。

    そこにカスタム投稿タイプを導入すると、そのURLにも”/blog/”が入ってしまうのですが、
    カスタム投稿タイプのページではこの/blog/を取り除きたいのです。
    プラグインの「Custom Post Permalinks」を入れてみましたが、期待した効果が得られませんでした。
    「カスタム構造を反映させなくする」のではなく、カスタム構造に/blog/を入れずに、他の方法で
    http://example.com/blog/category/postname/
    の形になるようでしたら、その方法でも構いません。
    何か良い方法はありますでしょうか。

    分かりやすくまとめますと、
    single.phpで表示するページは「カスタム構造」で先頭に”/blog/”を入れる設定にしたため
    http://example.com/blog/aaa/bbb/ となるが、
    single-news.phpで表示するページにも「カスタム構造」が反映されてしまい、
    http://example.com/blog/news/ccc/
    になってしまう。
    これを、single-news.phpのときは
    http://example.com/news/ccc/
    となるようにしたい・・・

    ということです。
    よろしくご教示お願いいたします。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • こんばんは。カスタム投稿を追加する関数 register_post_type() のパラメータ rewite の中で、 ‘with_front’ => false を加えれば blog は付かなくなります。

    'rewrite' => array(
        'slug' => true,
        'with_front' => false
    )

    プラグインでカスタム投稿を設定している場合は、ソースを追ってこの処理を加えるか、作者にお願いする必要があります。functions.php で設定している場合は、該当箇所にコードを追加すればOKです。

    トピック投稿者 mokeco

    (@mokeco)

    LVP8さま

    早速のご回答ありがとうございました。
    教えていただいた通りにしたところ、希望の動作をするようになりました。

    ただ、
    'slug' => true,
    にすると、
    register_post_type('hoge',$args);
    の部分で指定した名前ではなく、”1″という数字に置き換わっていましたので、
    'slug' => false,
    にしたところ、register_post_typeで指定した名前が出るようになりました。
    これはどのような処理をしているのでしょうか。。。

    ※加筆
    そもそもslugの部分は今回、特に書かなくて良かったようです。コードを追っても、’slug’の部分は見当たらなかったのですが。。。何の処理なのか気になります。

    カスタム投稿はプラグインですかね?
    でしたら、 ‘slug’ => true (slug の指定)は書かない方がいいです。
    恐らく、管理画面でカスタム投稿のパーマリンク構成を変更する処理が加えられていると思うので、気にする必要ないと思います。

    トピック投稿者 mokeco

    (@mokeco)

    すみません、書き忘れてましたがカスタム投稿はfunctions.phpに書いてます。

    気にする必要はないのですね、了解しました。ありがとうございます。

    トピック投稿者 mokeco

    (@mokeco)

    ごめんなさい。寝ぼけて解釈を間違えたかも。
    functions.php に記述した場合は、’slug’あった方が良いんですか’

    ‘slug’ => true の true という設定は間違いでした。
    ポストタイプの名前と違うスラッグにしたい場合に文字列で指定するものなので、mokecoさんの場合無い方がいいです。

    混乱させてしまいました。
    現状で意図したとおりになってるのでしたら、全く気にする必要ありません。大丈夫です。

    トピック投稿者 mokeco

    (@mokeco)

    LVP8さま

    了解しました。ありがとうございました。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「カスタム投稿で、パーマリンクの「カスタム構造」を反映させなくしたい」には新たに返信することはできません。