WordPressで『カスタムタクソノミー』のみ利用したい時の方法

この記事が良ければ、ぜひシェアお願いします

特に使う機会がなかったので触れていなかったのですが、とあるサイトを作っている中で『カスタムフィールド』『カスタム投稿ポスト』『カスタムタクソノミー』を利用していたのですが、「カスタム投稿ポスト」と「カスタムタクソノミー」の両方を利用する必要性があるのか?と感じて今作り直しをしています。

ということで、今回はWordPressの通常の”投稿”にさらに”カテゴリー”や”タグ”を追加したい場合の方法を投稿したいと思います。(もちろんプラグインは無しです)

WordPressのfunctions.phpに『カスタムタクソノミー』の設定を追加

WordPressに簡単に『カスタムタクソノミー』を導入したいのであれば、プラグインを探して入れるのも良いと思います。しかし、思い通りに分類ができるとは限りません。自分もハマりました(^^;

ということで、functions.phpに『カスタムタクソノミー』のカテゴリ版とタグ版を標準ポストに追加する方法をお教えしたいと思います。

まずは、『カスタムタクソノミー』をカテゴリとして分類したい場合の記述方法の一例です。functions.phpに記述してください。

function add_custom_taxonomies() {
	register_taxonomy(
		'scene',
		'post',
		array(
			'public' => true,
			'show_ui' => true,
			'hierarchical' => true,
			'label' => 'シーン',
			'singular_name' => 'シーン',
			'query_var' => true,
			'rewrite' => true
		)
	);
}
add_action('init', 'add_custom_taxonomies', 0);

まずは、『カスタムタクソノミー』をタグとして分類したい場合の記述方法の一例です。functions.phpに記述してください。

function add_custom_taxonomies() {
		register_taxonomy(
		'item',
		'post',
		array(
			'public' => true,
			'show_ui' => true,
			'hierarchical' => false,
			'label' => '商品',
			'singular_name' => '商品',
			'query_var' => true,
			'rewrite' => true,
			'show_tagcloud' => true
		)
	);
}
add_action('init', 'add_custom_taxonomies', 0);

『カスタムタクソノミー』を登録するときの各パラメータについて

WordPressのブログを見ていると、皆さん色々な書き方で登録されているようですが、ここでは先に関数として宣言しておき、initのアクションフックに掛けてしまうというやり方にしています。メインとなる関数は、”register_taxonomy”なんですが、その後に第一引数、第二引数、第三引数(ここは配列にしています)を書いています。第一引数はそのタクソノミーのslug-IDをあなたの好きなように指定してください。第二引数では、どの投稿の場合にそのタクソノミーが反映されるかを指定します。ここでは”post”のみにしていますが、もし固定ページにもタクソノミーを入れたいのであれば、”page”を書いてあげればOKです。第三引数の中身については、下記に表で説明します。

【パラメータ一覧】
パラメータ 説明
public true/false このカスタムタクソノミーでユーザーインターフェースを表示しない、など
show_ui true/false この投稿タイプを管理するデフォルト UI を生成するかどうか。
hierarchical true/false 階層(親の指定が許可されている)かどうか
label 自由に設定 このタクソノミーの名前
singular_name 自由に設定
query_var true/false ラベル値が複数形の場合の名前
rewrite true/false パーマリンクのリライトを許可するかどうか
show_tagcloud true/false タグクラウドに表示するかどうか

ちなみに注意点なのですが、関数名を定義する際に大文字は半角英数字小文字のみ使ってください。想定外のエラーが出ますw また、パッと見るとカテゴリー版もタグ版も『カスタムタクソノミー』の書き方は同じように見えるのですが、ここは”hierarchical”をどうするかで決まります。”true”にすればカテゴリー、”false”にすればタグです。タグ版にした場合は、”show_tagcloud”というパラメータの指定をしても大丈夫なので、ここもポイントです。

もっと指定できるパラメータはあるのですが、まず使い始めるという点ではこちらで問題ないと思います。ご参考になればと思います。

スポンサーリンク

この記事が良ければ、ぜひシェアお願いします

もぐ
年齢 : 30代半ばの1児の新米パパ。ITネットワークから始まり、WEBディレクター、WEBシステム系のプロマネ、データ分析など色々やってるエンジニアです。WordPress、Webサービス構築、BIツール、IoTなどがトレンド。新しくて面白い仕事募集中。
スポンサーリンク