やり方
if ( empty ( $GLOBALS['admin_page_hooks']['my_unique_slug'] ) )
add_menu_page(
'Page Title',
'Top Menu Title',
'manage_options',
'my_unique_slug',
'my_magic_function'
);
https://wordpress.stackexchange.com/questions/119281/check-if-add-menu-page-exists-or-not
何年も前からやり方を知りたくて、放置してたのですが、英語で検索するとズバリが見つかったのでメモしておきます。
補足
1.add_menu_page で管理画面にメニューを追加
2.add_submenu_pageで、そのメニューに子メニューを追加
上記の手順で、親メニューと子メニューは簡単に追加できます。
複数のプラグインで、1つの親メニューに、各プラグインごとに子メニューにしたいという場合があるかと思います。
この場合に、親メニューが存在しないと、子メニューを追加しても表示されません。で、親メニューを毎回追加すると、メニューの「slug」が同じなのに、メニューが追加のたびに増殖していってしまいます。
処理としては、親メニューの存在チェックをして、存在しなければ親メニューを追加してから、子メニュー追加。存在してる場合は、子メニューだけ追加という処理をするわけです。
スポンサーリンク
コメントを残す