【0から学ぶWordPress】カスタム投稿について

カスタム投稿タイプてなに?

一番初期の段階で左メニューの一番上に投稿ってありますよね
これが投稿タイプですが最初の段階では1つしかありません。
これを別途追加して作れるのです!これがカスタム投稿です。

投稿タイプってなんぞ?

投稿タイプでは普段ブログの記事の執筆や
お知らせなどを記載していくと思います。
それだけでは足りない場合や混同してしまって不便なので、
別途カスタム投稿で増やしてあげます。

よくあるカスタム投稿タイプの仕様

私がよく使用するパターンですが
デフォルトの「投稿タイプ」の「投稿」は会社のお知らせなどに使います

カスタム投稿タイプを「4つ」追加して

  • ブログ
  • 制作実例
  • 商品(サービス一覧)
  • お客様の声

などを別途で用意して構成してます。

カスタム投稿の追加の仕方

使っているテーマの中にfunctions.phpに直接書いていきます。
FTPからでも管理画面の中からでもどちらでも編集可能ですが
管理画面から行っていきましょう。

ダッシュボード⇒外観⇒【テーマエディタ】を開いて
funstions.phpを探して編集します。なければ作りましょう。

編集内容は以下になります

<?php 
function new_register_blog() { //
	$labels = [
		"singular_name" => "blog",
		"edit_item" => "blog",
	];
	$args = [
		"label" => "ブログ", //管理画面に出てくる名前
		"labels" => $labels,
		"description" => "",
		"public" => true,
		"show_in_rest" => true,
		"rest_base" => "",
		"rest_controller_class" => "WP_REST_Posts_Controller",
		"has_archive" => true,
		"delete_with_user" => false,
		"exclude_from_search" => false,
		"map_meta_cap" => true,
		"hierarchical" => true,
		"rewrite" => [ "slug" => "ブログ", "with_front" => true ], 
		"query_var" => true,
		"menu_position" => 5,
		"supports" => [ "title", "editor", "thumbnail" ],
	];
	register_post_type( "blog", $args );
}
add_action( 'init', 'new_register_blog' );

これで「ブログ」(blog)というカスタム投稿が可能となりました!

ですが、カテゴリーやタグなどが使えないのでブログ的にはカテゴリーは使いたいですね。ということで

カスタム投稿にカテゴリーを追加する

functions.phpにこちらもカテゴリーを使えるように追記します。

function new_register_cat() { //add_actionの2つのパラメーターを定義
	$labels = [
		"singular_name" => "cat",
	];
	$args = [
		"label" => "カテゴリー",
		"labels" => $labels,
		"publicly_queryable" => true,
		"hierarchical" => true,
		"show_in_menu" => true,
		"query_var" => true,
		"rewrite" => [ 'slug' => 'cat', 'with_front' => true, ], 
		"show_admin_column" => false,
		"show_in_rest" => true,
		"rest_base" => "dep",
		"rest_controller_class" => "WP_REST_Terms_Controller",
		"show_in_quick_edit" => false,
		];
	register_taxonomy( "cat", [ "blog" ], $args ); //「blog」というカスタム投稿タイプにカテゴリーを追加
}
add_action( 'init', 'new_register_cat' );

これでカスタム投稿のブログの中にカテゴリーを使えるようになります。

カスタム投稿を固定ページに出力する

別記事にて記載しましたのでそちらをご参照下さい