カスタム投稿タイプを追加する方法【コピペOK+プラグイン不要】

【WordPress】カスタム投稿を追加する方法【コピペで作成可】

ワードプレスにあるデフォルトの「投稿」だけだと足りない時って多いと思います、そんな時に活躍するのが「カスタム投稿」。本記事では、カスタム投稿を自作して追加する方法について解説してみたいと思います。

「カスタム投稿」について【基礎知識】

「カスタム投稿」とは、ワードプレスにデフォルトで用意されている「投稿(post)」とは別に用意した投稿タイプのこと、下記のスクショを見てもらえれば分かりやすいと思います。

デフォルトの「投稿」と追加したカスタム投稿の説明

一番上の「投稿」のすぐ下にある「お知らせ」「カスタム」「ブログ」がカスタム投稿にあたります、定番なもので言えば「お知らせ」「新着情報」ですかね、普通のブログ記事(投稿)とは別の役割で記事を作成したい時に別々で管理したい時によく使います。

ってこで今回はカスタム投稿タイプ「お知らせ」を実装し、コードを公開しながら解説したいと思います。

カスタム投稿タイプを作成する方法【コピペ+編集】

プラグインを使わずカスタム投稿タイプを自力で追加する方法を紹介します、実装にあたっては子テーマを用意することをオススメします、「子テーマ?」って方はWordPress初心者は必ず覚えておきたい【子テーマの作り方】をどうぞ。

使用するファイルは[functions.php]一つだけ、親テーマ内にあるものを使ってもいいですが、基本的には子テーマにある方を使うのがオススメです(リスク回避)

それでは早速、カスタム投稿タイプ追加のテンプレートを用意しましたので、何も考えずに下記コードを[functions.php]の一番下にコピペしましょう。

カスタム投稿タイプ追加のテンプレート

// カスタム投稿タイプを追加する
function ここに関数名() {
  $Supports = [
    'title',
    'editor',
    'thumbnail',
  ];
  register_post_type( 'ここに投稿タイプ',
    array(
      'label' => 'ここに表示名',
      'labels' => array(
      'all_items' => 'ここに一覧表示名'
      ),
      'public' => true,
      'has_archive' => true,
      'menu_position' => 5,
      'supports' => $Supports
    )
  );
}
add_action( 'init', 'ここに関数名' );

それぞれ簡単に解説します。

  • 「ここに関数名」の部分に関数名を記述してください、わかりやすいのが理想です。注:各行必ず合わせること。(2行目と21行目)
  • 「ここに投稿タイプ」の部分に投稿タイプを記述してください。ちなみにデフォルトである「投稿」は「post」です。(8行目)
  • 「ここに表示名」の部分にサイドメニューで表示する名称を記述してください。(10行目)
  • 「ここに一覧表示名」の部分にサイドメニューで表示する一覧名称を記述してください。(12行目)

以上をふまえて編集してみる。

カスタム投稿タイプ「お知らせ」の実装コード

// カスタム投稿タイプ「お知らせ」を追加する
function create_post_type_news() {
  $Supports = [
    'title',
    'editor',
    'thumbnail',
  ];
  register_post_type( 'news',
    array(
      'label' => 'お知らせ',
      'labels' => array(
      'all_items' => 'お知らせ一覧'
      ),
      'public' => true,
      'has_archive' => true,
      'menu_position' => 5,
      'supports' => $Supports
    )
  );
}
add_action( 'init', 'create_post_type_news' );

完成形は上記のような感じになります、ワードプレスの勉強も兼ねている方もいるかもなので要所だけ解説を入れておきます。

・投稿パーツの設定
3行目の$Supportsに投稿パーツを入れておき、それを17行目で使って設定しています、パーツは「'title'」,「'editor'」,「'thumbnail'」以外にもあるので必要であれば追加してください、タイトルだけ指定すればタイトルのみ表示されます。
 
投稿パーツについてはこちらでまとめられています。
・投稿オプションの設定
14行目~17行目で投稿のオプションを設定しています、「'menu_position'」の数字を変更するとサイドメニューで表示される位置が変わります、「5」はデフォルトで用意されている「投稿」の下になります。

テンプレートは再利用可能です

同じようにコピペすれば何個でも投稿タイプは追加でき再利用可能です、ただし、関数名や投稿タイプ名は他と被らないように注意しましょう(被るとエラーが出る→サイトが真っ白になる)

カスタム投稿の追加にプラグインは不要

  • プラグインを使うレベルの話じゃない
    →カスタム投稿の追加はカスタマイズの中でも簡単な部類であり、コピペと軽い編集だけで実装出来ます。
  • プラグインに頼りすぎのはダメ
    →プラグインに頼りすぎると更新時のメンテナンスも大変になりますし、サイトも重くなったりで良いことなしです、自力で実装できるものは自分でやってしまいましょう。

他の人が読んでいる記事

コメント (0)

コメントする人

セキュリティのためreCAPTCHAを利用しています。
Googleのプライバシーポリシー利用規約が適用されます。
うぇぶとまと|Webエンジニア
うぇぶとまと|Webエンジニア

飲食→派遣→IT系ベンチャーに転職。
本業をベーシックインカムとし、やりたい事に挑戦するWebエンジニア。