制作会社から制作会社じゃない会社に転職が決まりました。制作会社で学んだことを残らず記事にしたいと思います。

パンDKOTORI Blogの公式キャラクター「パンD」です。
コーディングWordPressカスタム投稿タイプのパーマリンクを変更する『Custom Post Type Permalinks』

カスタム投稿タイプのパーマリンクを変更する『Custom Post Type Permalinks』

カスタム投稿タイプのパーマリンクを変更する『Custom Post Type Permalinks』記事のアイキャッチ画像

カスタム投稿タイプのパーマリンクを変更できるプラグイン『Custom Post Type Permalinks』を紹介します。カスタム投稿タイプの日付アーカイブリストの表示やタクソノミーページのURLをいい感じにしてくれます。

まえがき

インストールするだけでカスタム投稿タイプのパーマリンクを個別に変更できる『Custom Post Type Permalinks』というプラグインを発見しました。

Custom Post Type Permalinks

『Custom Post Type Permalinks』はカスタム投稿タイプのパーマリンクを個別に変更できるだけでなく他にもいいことがあります。

いきなりですがカスタムタクソノミーのアーカイブページのURLに違和感を感じたことはありますか?

というのもカスタム投稿タイプの分類にカスタムタクソノミーを設定している場合
WordPressデフォルトの設定だとカスタムタクソノミーのアーカイブページのURLがこのようになります。

http://hogehoge.com/タクソノミー名/ターム名

カスタム投稿タイプのタクソノミーなのにドメイン以下がタクソノミー名から始まるのおかしいですよね。
KoToRiの希望はこうです!!

http://hogehoge.com/投稿タイプ名/タクソノミー名/ターム名

これなら自然ですよね!

どうにかカスタムタクソノミーのアーカイブページのURLを変更できないかと色々探していたら、『Custom Post Type Permalinks』という素晴らしいプラグインを発見しました。

このプラグインをインストールして有効化すると

  • カスタム投稿タイプのパーマリンクを個別にカスタマイズできる
  • カスタム投稿タイプの日付アーカイブのURLが
    「http://hogehoge.com/投稿タイプ名/date/2011/11/02」のような形になる
  • 「wp_get_archives()」でカスタム投稿タイプの月別アーカイブリストが表示できる
  • カスタムタクソノミーのアーカイブページのURLが
    「http://hogehoge.com/投稿タイプ名/タクソノミー名/ターム名」のような形になる

素晴らしい。素晴らしすぎます。
タクソノミーページのURLをKoToRiの希望通りに叶えてくれました。

ということでこの『Custom Post Type Permalinks』プラグインの使い方を紹介します。

因みにカスタム投稿タイプを利用するのであれば、パーマリンク設定はデフォルト以外に指定しましょう
デフォルトだとカスタム投稿タイプのアーカイブページが表示できません。

『Custom Post Type Permalinks』のインストール

管理画面「プラグイン」→「新規追加」の検索フォームに「Custom Post Type Permalinks」と入力し「プラグインの検索」をクリックしてインストールするか下記からファイルをダウンロードしてインストールしてください。

Custom Post Type Permalinks

インストールしたら有効化してください。

カスタム投稿タイプのパーマリンクの設定

有効化すると「設定」→「パーマリンク設定」を開きます。

Custom Post Type Permalinks使い方01

パーマリンク設定画面に「カスタム投稿タイプのパーマリンクの設定」という項目が追加されます。

Custom Post Type Permalinks使い方02

ここからカスタム投稿タイプのパーマリンクを設定できます。

「カスタム分類のアーカイブのパーマリンクを変更する。」にチェックを入れるとタクソノミーのアーカイブページのURLが

http://hogehoge.com/投稿タイプ名/タクソノミー名/ターム名

というスマートな形に変更されます。

因みにカスタム投稿タイプが複数あってもパーマリンクは個別で設定できます!

使い方も簡単で本当に素晴らしいですね!

カスタム投稿タイプの月別アーカイブリストを表示する

さらに「Custom Post Type Permalinks」をインストールすると「wp_get_archives()」のパラメーターに「post_type」が追加されます。
これによりカスタム投稿タイプの月別アーカイブリストを表示することが可能です。

例えば投稿タイプ名が「kotoridiary」の月別アーカイブリストを表示する場合の出力タグはこのようになります。

<?php wp_get_archives('type=monthly&post_type=kotoridiary'); ?>

まとめ

いや~素晴らしいプラグインですね。
設定が簡単なのが最高です。
カスタム投稿タイプとカスタムタクソノミーを利用して独立したコンテンツを作成するのであれば「Custom Post Type Permalinks」をインストールするべきでしょう。

ただ、マルチサイト化したWordPressだと「wp_get_archives()」での投稿タイプの月別アーカイブリストの表示がうまくいきませんでした。
具体的に言うと、カスタム投稿タイプを追加したサイトではないサイト上で「switch_to_blog()」を使ってカスタム投稿タイプの月別アーカイブリストを表示しようとするとリンク自体は表示されるのですがリンク先がおかしくなってしまいます。

マルチサイトに対応すれば「Custom Post Type Permalinks」は無敵になると思います!!

2014年03月04日 追記
マルチサイトでも「Custom Post Type Permalinks」の「wp_get_archives()」を正常に機能させる方法をエントリーしました。
参考にしてください。

マルチサイトで「Custom Post Type Permalink」[WordPress]

シェアするみんなシェアしてね

フォローするフォローする

いつもKOTORI Blogをご覧いただきありがとうございます。Facebook、Twitterを通じて、皆様と交流していき色んな情報を共有していければな~と思ってます。お気軽に登録してください!

基本フォロー返します。

RSSを登録する

RSSはこちらから。

follow us in feedly

Feedly使ってる人はこちらから。

Buy me a Beer

動く!パンDのLINEスタンプ
好きな人にアプローチスタンプ
パンDのLINEスタンプ

関連する記事関連する記事も読んでみてね

コメント

  • Pingback: カスタム投稿タイプとカスタムタクソノミーまとめ()

  • Pingback: 【WordPressプラグイン】functions.phpをいじりたくない人向け20選()

  • Pingback: カスタム投稿タイプのパーマリンクを変更する | WordPressカスタマイズ事典()

  • Pingback: ワードプレスの便利なプラグイン()

  • にしお(WP初心者)

    度々すいません…

    KOTORIさんの記事を読みながら、Custom Post Type UIを用いて、カスタム投稿タイプを作成しました。

    (↑問題なくできました!ありがとうございます!)

    ただ一点、パーマリンクの設定がうまくできずに困惑しております。

    現状、Custom Post Type Permalinksも用いて、上記のように設定しているのですが

    理想としては

    http://●●●●.co.jp/投稿タイプ名/カスタムタクソノミー名/記事のslug/

    にしたいのですが、なぜか

    http://●●●●.co.jp/投稿タイプ名/記事のslug/

    になってしまいます。

    チェックは入れているのですが…。
    この理由としては何が考えられますでしょうか。
    ご教授頂ければ幸いです。

    • kotoriblog

      にしおさん
      いつもコメントありがとうございます。
      お返事が大変遅れてしまいごめんなさい。

      詳細ページのURLを
      「/投稿タイプ名/タクソノミー名/記事のslug」
      にしたいということですよね。

      チェック入れる上部にある各投稿タイプのパーマリンクの設定で指定してあげる必要があります。
      「/%カスタム分類名%/%postname%」
      とかでしょうか。「カスタム分類名」はタクソノミー名を入れてあげてください。

      その場所に説明が詳しく書いてあるので良く読んで設定してみてください。

      とはいえ返事が遅すぎて既に解決されていることと思いますが。。。

  • D

    記事をありがとうございます。参考にさせて頂きました。

    それで、Custom Post Type Permalinksも設定をさせて頂きました。

    ただ、その後、カスタム投稿の投稿を見てみると、404となってしまいます。
    Wordpressのバージョンも最新のもので確認したり、プラグイン自体も更新したりしたのですが、
    上手く表示がされない状況です。
    また、他プラグインとの競合なども違うと思います。

    開発者さんにも連絡をしたのですが、Forum経由で解決につながる回答にならず困っており、
    こちらにたどり着いた次第です。

    今回は、プラグインを使いましたが、特にプラグインを使わなくとも良いので解決したいです。。
    エンジニアでは無い手前、知識がと乏しいのですが、ご教示頂けましたら幸いで御座います。
    長文失礼致します。

    • kotoriblog

      Dさん
      コメントありがとうございます。

      404エラー等は、パーマリンク設定を一度更新すると直る事があるので覚えておくと良いかもしれません。

      ↑で治らなければ
      一度パーマリンク設定をデフォルトに戻して404が解消されるか試します。

      解消されるなら
      「カスタム構造」で「/%category%/%postname%/」等と指定してみてください。

      • D

        kotoriblogさん

        早い返信ありがとうございます。

        返信が来て驚きました。

        すいません、こちらの文章を参考に上記をやってみました。

        パーマリンク設定を一度更新するというのは、パーマリンク設定ページにて、

        1.「変更を保存」という事だと思うのですが、こちらは、Custom Post Type Permalinks
        を設定後、何回か変更を保存しましたが、カスタム投稿ページの記事が404となりました。

        (因みに、プラグインを外せば404は解消されます。)

        2.カスタム構造で変更ですが、私の場合、普通の投稿ページのパーマリンクを変えるという
        事ではなくて、カスタム投稿のパーマリンクを変更したいのです。

        普通の投稿の場合「wordpress.com/111」となっておりますが、カスタム投稿の場合、
        ディレクトリが最初から「wordpress.com/hoge/投稿名」となっているため、こちらの投稿名の
        部分を数字ベースにしたいという事で、上記のプラグインも利用させて頂いたという形です。

        やはり、functionから変更するしか無いのでしょうか?
        技術的な問題で、今回紹介されているプラグインで出来ればと思っている次第です。

        長文になっていしまいましたが、お手隙な際にご連絡頂ければ幸いです。