私はこの質問に正しく答えるのが辛いことを本当に知りません。名前バッジ付きのカスタム投稿タイプを作成し、それにカスタム分類法(レベル、スキル)を追加しました。次に、そのカスタム投稿に新しいサブメニューアイテムを追加します。これは私のカスタム投稿です:
add_action('init', 'bsp_badges_register');
function bsp_badges_register() {
$labels = array(
'name' =>_x('Badges', 'post type general name'),
'singular_name' =>_x('Badge', 'post type singular name'),
'add_new' =>_x('Add New', 'badge item'),
'add_new_item' =>__('Add New Badge Item'),
'edit_item' =>__('Edit Badge Item'),
'new_item' =>__('New Badge Item'),
'view_item' =>__('View Badge Item'),
'search_items' =>__('Search Badge'),
'not_found' =>__('Nothing found'),
'not_found_in_trash' =>__('Nothing found in Trash'),
'parent_item_colon' => ''
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'query_var' => true,
'menu_icon' => 'dashicons-welcome-learn-more',
'rewrite' => true,
'capability_type' => 'post',
'hierarchical' => false,
'menu_position' => 75,
'supports' => array('title','editor','thumbnail'),
'has_archive'=>true,
'show_in_menu'=>'badge-school'
//'taxonomies' => array('post_tag','category')
);
register_post_type( 'badge' , $args );
flush_rewrite_rules();
私の分類法の1つ:
register_taxonomy(
'skills',
array('badge'),
array(
'hierarchical'=>true,
'public'=>true,
'label'=>'Skills',
'labels'=>array(
'name'=> _x( 'Skills', 'taxonomy general name' ),
'singular_name'=>'Skill',
'menu_name'=>__('Skills')
),
'show_ui'=>true,
'rewrite'=>array('slug'=>'skill'),
)
);
次に、そのようなサブメニューを追加してみました。
add_action('admin_menu','bsp_plugin_menu');
function bsp_plugin_menu(){
add_menu_page('Badge school', 'Badge School', 'manage_options','badge-school','bsp_students_function','dashicons-welcome-learn-more');
//my taxonomy
add_submenu_page('edit.php?post_type=badge', 'Skills', 'Skills', 'manage_options', 'edit.php?taxonomy=skill&post_type=badge');
しかし、それは表示されません。メニューのバッジのみが表示されます。新しい投稿を追加する必要もありますが、表示されていません。私は何が間違っているのか、それを修正する方法がわかりません。分類なしでサブメニューを追加する必要があるため、すべてを1つのメニューで取得する必要があります。
私の問題を理解していただければ幸いです。先ほどお話ししたように、質問の仕方がわかりません。
だから、グーグルをたくさんした後に私の質問に答えるには:
Args配列では、show_in_menuのオプションをコメント化しているため、カスタム投稿タイプがメニュー自体を作成します。次に、管理メニューを追加せず、サブメニューのみを追加しました(フックはまだ残っています)。
add_action('admin_menu','bsp_plugin_menu');
そして、最初のパラメーターはメニューに表示するパラメーターであり、カスタム投稿タイプの名前です。
add_submenu_page(**'edit.php?post_type=badge'**, 'Add new students', 'Add new students', 'manage_options','add-new-students','bsp_students_add');
そして今、それはすべての分類法とカスタム投稿でメニューに表示されます。