WordPressのカスタム投稿タイプをプラグイン無しで設定する方法

WordPressのカスタム投稿タイプをプラグイン無しで設定する方法

以前に「WordPressのカスタムタクソノミーをプラグイン無しで設定する方法」をご紹介しましたが、この方法だと「投稿」にカスタムタクソノミーを追加するだけだったんですよね。

「カスタム投稿タイプ」を新規追加し、そのカスタム投稿タイプにカスタムタクソノミーを設定する方法をご紹介します。プラグインを使わずに簡単に実装できるようにコピペできるソースコード付きです。

WordPressのカスタム投稿タイプをプラグイン無しで設定する

WordPressにカスタム投稿タイプやカスタムタクソノミーを追加できる「Custom Post Type UI」というプラグインがあります。

以前はこちらのプラグインを使っていたんですが、正直プラグインを使っても簡単ではない気がしていて。

それだったらfunctions.phpに直接書いちゃった方が早いなということで、僕がカスタム投稿タイプを追加する際にはこれから紹介する方法を使っています。

では実例として「楽器メディアを立ち上げる際に、投稿とは別にギターを紹介するためのカスタム投稿タイプを作成し、ギターのブランドという括りをカスタムタクソノミーに設定した」という想定で作ったコードを紹介します。

カスタム投稿タイプ・カスタムタクソノミーをを追加するコード

下記のコードをfunctions.phpにコピペしてください。一部書き換えが必要ですが、基本的には下記のコードのままですぐに使うことができます。

add_action( 'init', 'create_post_type' );
function create_post_type() {
  register_post_type( 'guitar',
    array(
      'labels' => array(
        'name' => __( 'ギター' ),
        'singular_name' => __( 'ギター' )
      ),
      'public' => true,
      'supports' => array('title','editor','thumbnail','custom-fields'),
    )
  );
  register_taxonomy( 'brand', 'guitar',
    array(
      'labels' => array(
        'name' => 'ブランド'
      ),
      'hierarchical' => true
    )
  );
}

「register_post_type」のところがカスタム投稿タイプを追加するためのコード、「register_taxonomy」のところがカスタム投稿タイプ内にカスタムタクソノミーを追加するためのコードです。

10行目は「カスタム投稿タイプにてアイキャッチ画像とカスタムフィールド」を使えるようにするための記述です。こちらをカスタマイズすると他の項目を足すことも可能です。

上記コードのうち変更する箇所

上記のコードでは「ギター」という名前のカスタム投稿タイプを「guitar」というスラッグで、「ブランド」というカスタムタクソノミーを「brand」というスラッグで追加しました。

というわけで、お使いの際は下記の記述をご自身の環境に応じて書き換えてください。

  • 3行目の「guitar」
  • 6,7行目の「ギター」
  • 13行目の「brand」と「guitar」
  • 16行目の「ブランド」

カスタムタクソノミーを投稿に追加する方法

以前に「WordPressのカスタムタクソノミーをプラグイン無しで設定する方法」という記事を書きました。

こちらの方法を使えば、「投稿」の方に「カテゴリー・タグ」とは別軸の括り(カスタムタクソノミー)を作ることができます。

活用法次第ではめちゃめちゃ便利なので、是非下記の記事もあわせてご覧ください。

WordPressのカスタムタクソノミーをプラグイン無しで設定する方法
続きを読む

最後に

冒頭に書きましたが、Custom Post Type UIを使ってももちろん良いけどもこれくらいは書いた方が早いなと思って使ってます。

プラグインをなるべく少なくしたいという方には特におすすめの方法ですので、ぜひお試しください。

キーワード
WordPress