このようなカスタムメニューを作成するプラグインを作成しました。
add_menu_page( 'Wholesale Pricing', 'Wholesale', 'manage_options', 'woo-wholesale', 'woo_wholesale_page_call');
この下にサブページアイテムを追加しようとしています。私はコーデックスを読み、思いついた:
add_submenu_page( 'woo-wholesale', 'Registrations', 'Registrations', 'manage_options', 'woo-wholesale-registrations', 'wwpr_page_call' );
サブメニュー項目が表示されていないので、これは正しくないと思います。誰もがこれに光を当てることはできますか?
add_action
フックが admin_menu に設定されていることを確認してください。
これがサンプルコードです。
add_action('admin_menu', 'wpse149688');
function wpse149688(){
add_menu_page( 'Wholesale Pricing', 'Wholesale', 'manage_options', 'woo-wholesale', 'woo_wholesale_page_call');
add_submenu_page( 'woo-wholesale', 'Registrations', 'Registrations', 'manage_options', 'woo-wholesale-registrations', 'wwpr_page_call' );
}
ログインしたユーザーがこのメニューを表示できるかどうかも確認してください。このメニューはmanage_options
capability を使って設定されます。
OPと同じ間違いをしたのですが、直感的に理解できないためです。 管理メニュー のコーデックスを読むことで、私は答えを発見しました。
問題は(とにかく)add_submenu_page(...)
の呼び出しで$parent_slug
パラメータを編集することでした。
したがって、OPの場合は、次のように変更します。
add_submenu_page(
'woo-wholesale',
'Registrations',
'Registrations',
'manage_options',
'woo-wholesale-registrations',
'wwpr_page_call'
);
に:
add_submenu_page(
'edit.php?post_type=woo-wholesale',
'Registrations',
'Registrations',
'manage_options',
'woo-wholesale-registrations',
'wwpr_page_call'
);