[WordPress]3大カスタム要素、カスタム投稿タイプ・タクソノミー・フィールドを使いこなす
こんにちは Latin です。
コンフェデレーションズカップはじまりましたね!夏のフットボール観戦はやっぱり燃えます。
さて今回は、WordPressの「3大カスタム要素」と題しまして、「カスタム投稿タイプ」、「カスタムタクソノミー」、「カスタムフィールド」についてまとめていこうと思います。
目次
どういったケースで使うの?
例題として今回は、「コーポレートサイト」の場合を想定してみます。
カスタム投稿タイプ
通常の投稿記事と「切り分けたい場合」や「体裁の違うコンテンツを投稿したい場合」によく用いられます。
例えばコーポレートサイトの場合、通常の「投稿」は「お知らせ」などの記事で運用しているケースが多く、 そこに「本の紹介」などの「体裁の違う記事」を投稿したい場合などによく使用されます。
その場合、元々持っている「カテゴリー」で「本の紹介」とカテゴリーひとつ登録する事で解決するのであれば新たに投稿タイプを増やす必要はないのですが、 カテゴリーの数や階層が深くなったり、「本の紹介」に独自の情報(カスタムフィールド)を持たせたい場合などは、投稿タイプを切り分けておいた方が管理も運用もスムーズになります。
functions.php に以下のように記述します。
// カスタム投稿タイプの追加
add_action( 'init', 'create_post_type' );
function create_post_type() {
register_post_type( 'books', // 投稿タイプ名の定義
array(
'labels' => array(
'name' => __( '本の紹介' ), // フロントで表示する投稿タイプ名
'singular_name' => __( '本の紹介' )
),
'public' => true,
'menu_position' =>5,
)
);
}
カスタムタクソノミー
頭の中で復唱しても噛んでしまいそうですが、タクソノミーとは「分類」という意味です。
通常の「投稿」に追加できる「カテゴリー」や「タグ」のような分類グループと同じものを、切り分けて実装する事ができます。
上記のコーポレートサイトの例でいうと、
通常の「カテゴリー」は既に「お知らせ」や「商品・サービス紹介」などで使われていて、
カスタム投稿タイプ「本の紹介」でも「社会・政治」や「ノンフィクション」などの本のカテゴリー分類を追加したい場合は、カスタムタクソノミーで切り分けておくと運用も管理もラクです。
functions.php に以下のように記述します。
// カスタムタクソノミーの追加
register_taxonomy(
'genre', // 分類名
'books', // 投稿タイプ名
array(
'label' => '本のジャンル', // フロントで表示する分類名
'hierarchical' => true, // 階層構造か否か(trueの場合はカテゴリー、falseの場合はタグ)
'query_var' => true,
'rewrite' => true
)
);
カスタムフィールド
投稿する記事データに「独自の情報」を持たせる事が可能になります。
上記の「本の紹介」の例でいうと、「投稿タイプ」も分けた、「タクソノミー」も分けた、さらに書籍それぞれの「著者」や「出版社」、「価格」などの情報を
持たせたい場合にカスタムフィールドを使います。
主に投稿フローの簡素化や動的な出力をしたい場合などによく用いられます。
カスタムフィールドはプラグインで簡単に導入が可能です。
3大カスタム要素を使ったサイトの運用例
つらつらと長文になってしまいましたが、やはり図式化してみるとわかりやすいものです。
上記で説明した「本の紹介」は以下のようなイメージになるでしょうか。
追加されたカスタム要素の表示サンプル
追加されたカスタム投稿タイプ「本の紹介」が通常の「投稿」の下に表示されています。
投稿画面でカスタムフィールドやカスタムタクソノミーが選択可能になっている事がわかります。