Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
WordPress custom taxonomy template
// register_taxonomy ↓
// http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/register_taxonomy
add_action('init','custom_tax');
function custom_tax(){
$label_arr = array(
'name' => '', // タクソノミーの一般的な名前(普通は複数形)。 $tax->label によって上書きされて同じになる。デフォルトは _x( 'Post Tags', 'taxonomy general name' ) または _x( 'Categories', 'taxonomy general name' ) 。この文字列を国際化するときは、gettext context を使用してカスタム投稿タイプに合わせてください。例: _x('Writers', 'taxonomy general name');
'singular_name' => '', // タクソノミーのオブジェクト 1 個の名前(単数形)。デフォルトは _x( 'Post Tag', 'taxonomy singular name' ) または _x( 'Category', 'taxonomy singular name' ) 。この文字列を国際化するときは、gettext context を使用してカスタム投稿タイプに合わせてください。例: _x('Writer', 'taxonomy singular name');
'menu_name' => '', // メニュー名の文字列。メニュー項目の名前になります。無指定の場合、デフォルトで name のラベルが入ります。
'all_items' => '', // 「すべての項目」の文字列。デフォルトは __( 'All Tags' ) または __( 'All Categories' )
'edit_item' => '', // 「項目を編集」の文字列。デフォルトは __( 'Edit Tag' ) または __( 'Edit Category' )
'view_item' => '', // 「項目を表示」の文字列。デフォルトは __( 'View Tag' ) または __( 'View Category' )
'update_item' => '', // 「項目を更新」の文字列。デフォルトは __( 'Update Tag' ) または __( 'Update Category' )
'add_new_item' => '', // 「新しい項目を追加」の文字列。デフォルトは __( 'Add New Tag' ) または __( 'Add New Category' )
'new_item_name' => '', // 「新しい項目の名前」の文字列。デフォルトは __( 'New Tag Name' ) または __( 'New Category Name' )
'parent_item' => '', // 「親の項目」の文字列。これは投稿のタグのような階層化しないタクソノミーには使われません。デフォルトは null または __( 'Parent Category' )
'parent_item_colon' => '', // parent_item と同じ文字列の後ろにコロン : を付けたもの。デフォルトは null または __( 'Parent Category:' )
'search_items' => '', // 「項目を検索」の文字列。デフォルトは __( 'Search Tags' ) または __( 'Search Categories' )
'popular_items' => '', // 「人気の項目」の文字列。階層のあるタクソノミーには使われません。デフォルトは __( 'Popular Tags' ) または null
'separate_items_with_commas' => '', // タクソノミーのメタボックスで使われる「項目をコンマで区切ってください」の文字列。階層のあるタクソノミーには使われません。デフォルトは __( 'Separate tags with commas' ) または null
'add_or_remove_items' => '', // JavaScript が無効なときにメタボックスで使われる「項目の追加または削除」の文字列。階層のあるタクソノミーには使われません。デフォルトは __( 'Add or remove tags' ) または null
'choose_from_most_used' => '', // タクソノミーのメタボックスで使われる「よく使われている項目から選択」の文字列。階層のあるタクソノミーには使われません。デフォルトは __( 'Choose from the most used tags' ) または null
'not_found' => '' // 項目が一つもないときにタクソノミーのメタボックスで「よく使われている項目から選択」をクリックすると表示される文字列。階層のあるタクソノミーには使われません。デフォルトは __( 'No tags found.' ) または null
);
// -------------------------------------------------------------------------
register_taxonomy('custom_tax','custom_post',array(
'public' => true, // true にすると、タクソノミーは(パブリックに)検索可能になります。
'show_ui' => true, //
'show_in_nav_menus' => true, // true にすると、ナビゲーションメニューでこのタクソノミーを選択できます。
'show_tagcloud' => true, // true にすると、タグクラウドのウィジェットがこのタクソノミーを使います。
'meta_box_cb' => null, // メタボックスを表示するためのコールバック関数を指定できます。
'show_admin_column' => false, // true にすると、関連付けられた投稿タイプのテーブルにタクソノミーのカラムを自動生成します。
'hierarchical' => false, // true ならカテゴリーのような階層あり(子を持つ)タクソノミー、false ならタグのような階層化しないタクソノミー。
// // 'update_count_callback' => // 関連付けられた $object_type(例えば投稿)の個数が更新された時に呼び出される関数の名前。フックによく似た動作になります。
'query_var' => false, // false にすると query_var を無効化します。文字列を指定すると、デフォルトの $taxonomy(タクソノミーの「名前」)の代わりに、それがカスタム query_var になります。
'rewrite' => true, // false にすると、自動 URL 書き換え(俗にいう「pretty パーマリンク」)を回避できます。$args のように配列を指定すると、デフォルトのパーマリンクの URL 設定を下記のように変更できます。※1
// // 'capabilities' => // このタクソノミーに関する権限の配列。※2
// // 'sort' => // true にすると、タクソノミーのタームがオブジェクトへ付けられた順序を記憶する。
$labels => $label_arr
));
// ※1 配列内容
// 'slug' => pretty パーマリンクの文字列として使用(例えば /tag/ ) - デフォルトは $taxonomy(タクソノミーの名前、すなわちスラッグ)
// 'with_front' => true にするとパーマリンクの前に front ベースを入れる - デフォルトは true
// 'hierarchical' => true にすると階層化した URL を使用可能にする(バージョン 3.1 で実装された) - デフォルトは false
// 'ep_mask' => このタクソノミーにエンドポイントマスクを割り当てる - デフォルトは EP_NONE 。詳しくは this Make WordPress Plugins summary of endpoints を参照。
// ※2
// 'manage_terms' - 'manage_categories'
// 'edit_terms' - 'manage_categories'
// 'delete_terms' - 'manage_categories'
// 'assign_terms' - 'edit_posts'
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.