質問: クライアント側のダッシュボードのメニュー表示をコントロールするために、remove_menus()を使用してメニュー表示をコントロールしています。 クライアントサイトに「Event Organiser」というスケジュール用のプラグインを使用しており、「Event Organiser」についてはクライアント側にも表示させたいのですが、クライアント側(編集者)では非表示になってしまっています。 以下、functions.phpの該当コードです。 ``` //ダッシュボードメニューの表示調整 function remove_menus() { global $menu; if (!current_user_can('administrator')) { remove_menu_page('edit.php?post_type=page'); // 固定ページ remove_menu_page('edit-comments.php'); // コメント remove_menu_page('themes.php'); // 外観 remove_menu_page('plugins.php'); // プラグイン remove_menu_page('users.php'); // ユーザー remove_menu_page('tools.php'); // ツール remove_menu_page('options-general.php'); // 設定 remove_menu_page('edit.php?post_type=mw-wp-form'); // MW WP FORM } } add_action('admin_menu', 'remove_menus'); ``` 「Event Organiser」のURLは`edit.php?post_type=event`とあるので、上のコードに記載していないからクライアント側(編集者)には表示されるものと思っていたのですが、表示されず... どのようにすればクライアント側に「Event Organiser」のメニューが表示されますでしょうか。 ご回答いただけますと助かります。よろしくお願いいたします。
回答: add_actionを外して表示されるなら、remove_menu_pageをコメントアウトして一つずつ戻して確認すればよいと思います。 add_actionを外して表示されないなら、ユーザーに権限が足りていないのでは。