カスタム投稿タイプとカスタムタクソノミーの追加
functions.phpに以下を記載して、カスタムタクソノミー「ショップカテゴリー」、「ショップエリア」を作成、また、「ショップ」というカスタム投稿タイプを作成する。「ショップ」には新しい権限を「capabilities」で指定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
function my_custom_init() { /*================================================================================================ カスタムタクソノミー「ショップカテゴリー」の追加 ==================================================================================================*/ /*「ショップカテゴリー」のラベルの設定 --------------------------------------------------------------------------------------------------*/ $shopcat_labels = array( 'name' => "ショップカテゴリ", 'singular_name' => "ショップカテゴリ", 'search_items' => "カテゴリを検索", 'all_items' => "すべてのカテゴリ", 'parent_item' => "親カテゴリ", 'parent_item_colon' => "親:", 'edit_item' => "カテゴリを編集", 'update_item' => "カテゴリを更新", 'add_new_item' => "新規カテゴリ", 'new_item_name' => "新規カテゴリ名", 'menu_name' => "ショップカテゴリ", ); /*「ショップカテゴリー」の設定・追加 --------------------------------------------------------------------------------------------------*/ register_taxonomy( 'shopcat', array( 'shop' ), array( 'hierarchical' => true, 'labels' => $shopcat_labels, 'show_ui' => true, 'query_var' => true, 'rewrite' => true, 'capabilities' => array('assign_terms' => 'manage_categories' ) )); /*「ショップエリア」のラベルの設定 --------------------------------------------------------------------------------------------------*/ $shoparea_labels = array( 'name' => "ショップエリア", 'singular_name' => "ショップエリア", 'search_items' => "カテゴリを検索", 'all_items' => "すべてのカテゴリ", 'parent_item' => "親カテゴリ", 'parent_item_colon' => "親:", 'edit_item' => "カテゴリを編集", 'update_item' => "カテゴリを更新", 'add_new_item' => "新規カテゴリ", 'new_item_name' => "新規カテゴリ名", 'menu_name' => "ショップエリア", ); /*「ショップエリア」の設定・追加 --------------------------------------------------------------------------------------------------*/ register_taxonomy( 'shoparea', array( 'shop' ), array( 'hierarchical' => true, 'labels' => $shoparea_labels, 'show_ui' => true, 'query_var' => true, 'rewrite' => true, 'capabilities' => array('assign_terms' => 'manage_categories' ) )); /*================================================================================================ カスタム投稿タイプ「ショップ」の追加 ==================================================================================================*/ /*「ショップ」のラベルの設定 --------------------------------------------------------------------------------------------------*/ $labels = array( // 名前 'name' => "ショップ", // 名前(単数) 'singular_name' => "ショップ", 'add_new' => "新規追加", 'add_new_item' => "新規ショップ追加", 'edit_item' => "ショップを編集", 'new_item' => "新規ショップ", 'view_item' => "表示", 'search_items' => "ショップを検索", 'not_found' => "見つかりません", 'not_found_in_trash' =>"ゴミ箱にはありません", 'parent_item_colon' => '親', 'menu_name' => 'ショップ' ); /*「ショップ」の設定と追加 --------------------------------------------------------------------------------------------------*/ $shop_args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, //--------検索結果に含むかどうか 'show_ui' => true,//--------------------デフォルトUIを表示するかどうか 'query_var' => true,//------------------この投稿に使用する query var の名前 'rewrite' => true,//--------------------このフォーマットでパーマリンクをリライトする 'capability_type' => 'shop',//----------通常はpostだが任意のshopにする 'capabilities' => array('edit_posts' => 'edit_shop', //-------------記事の投稿と編集 'publish_posts' => 'publish_shop', //----------記事の公開 'edit_published_posts' => 'edit_published_shop', //---公開した記事の編集 'edit_others_posts' => 'edit_others_shop', //------他のユーザーの記事の編集 'read_private_posts' => 'read_private_shop', //-----他のユーザーの非公開記事の閲覧 'edit_private_posts' => 'edit_private_shop', //-----他のユーザーの非公開記事の編集 'delete_posts' => 'delete_shop', //-----------記事の削除 'delete_published_posts' => 'delete_published_shop', //-公開した記事の削除 'delete_others_posts' => 'delete_others_shop', //----他のユーザーの記事の削除 'delete_private_posts' => 'delete_private_shop'), //---他のユーザーの非公開記事の削除 'has_archive' => true,//--------------アーカイブページの作成 'hierarchical' => false,//------------階層(親・子)をつけるか 'menu_position' => null, //------------メニューの場所 'supports' => array('title','editor','author','thumbnail','excerpt','comments'),// サポートの種類を設定 'taxonomies' => array( 'shopcat', 'shoparea' ) ); register_post_type('shop',$shop_args); } add_action('init', 'my_custom_init'); |
プラグイン「User Role Editor」で権限の追加
その後、プラグイン「User Role Editor」で、指定した権限と同名のものを追加していきます。
ユーザーグループの作成
これもプラグイン「User Role Editor」の「Add Role」でユーザー権限グループを作成し、必要な箇所だけチェックを入れてアップロードします。