6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【WordPress】カスタムタクソノミーを自作し、自作したカスタム投稿タイプに適用させる

Posted at

#【WordPress】カスタムタクソノミーを自作し、自作したカスタム投稿タイプに適用させる

カスタム投稿タイプを自作したが、それだけだと実用においては不便なのでカスタムタクソノミーを作成し、利便性をアップさせる。今回もプラグインなどは使わずに自作。WordPRessがデフォルトで持っている、カテゴリー、タグも使用できるが、サイトが拡張していったりすると整合性が取れなくなりそうなので、カスタム投稿タイプにはカスタムタクソノミーを適用させるのが良さそう。

・まずカスタム投稿タイプを作成する。

・例のごとくfunction.phpにフックを追加し、カスタムタクソノミーを作成。

function.php
<?php

〜〜省略〜〜

//======================================================================
// カスタムタクソノミーを作成
//======================================================================
function self_made_taxonomies() {
	// 自作カテゴリーを作成
	register_taxonomy( 'self_made_cat',
		array( 'self_made' ),
		array(
			'label'            => '自作したカテゴリー', //表示名
			'show_ui'           => true, //管理画面に表示するか
			'show_admin_column' => true, //管理画面の一覧に表示するか
			'show_in_nav_menus' => true, //カスタムメニューの作成画面で表示するか
			'hierarchical'      => true, //階層構造を持たせるか(持たせるとカテゴリー扱い)
		)
	);
	// 自作タグを作成
	register_taxonomy( 'self_made_tag',
		array( 'self_made' ),
		array(
			'labels'       => '自作したタグ', //表示名
			'show_ui'      => true, //管理画面に表示するか
			'hierarchical' => false, //階層構造を持たせるか(持たせないとタグ扱い)
		)
	);
}
add_action( 'init', 'self_made_taxonomies', 0 );

自作した関数(self_made_taxonomies)の中でregister_taxonomyの引数に必要な項目を設定するだけで、自作カスタムタクソノミーが作成出来ます。カスタム投稿タイプと同じような作りで方で簡単です。

・カスタムタクソノミー作成前
before_taxo.png

・カスタム投稿タイプ作成後
after_taxo.png

カスタム投稿メニューに「自作カテゴリー」、「自作タグ」というメニューが追加されています!

使い方は、WordPressデフォルトのカテゴリー、タグと同様な感じです。

プラグインで出来ることも自作してみると仕組みが色々わかって面白いですね!

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?