Vérifier si add_menu_page existe ou non

10

Je travaille sur un plugin que je dois publier par parties.

Le problème est que s'il existe un menu dans la page, ajoutez le nouveau plug-in au deuxième ou au prochain sous-menu, sinon ajoutez un nouveau menu, puis ajoutez le plug-in au 1er sous-menu.

Mes questions:

  1. Comment vérifier qu’il existe un menu?
  2. Si je suis en train de coder une fonction réutilisable, cela fonctionnera avec tous les plugins, ce qui crée une option conflictuelle.
  3. Je ne connais pas l'ordre de publication du plugin.
add_menu_page(
    'Page Title',
    'Top Menu Title',
    'manage_options',
    'my_unique_slug',
    'my_magic_function'
);
add_submenu_page(
    'my_unique_slug',
    'page title',
    'submenu title',
    'manage_options',
    'my_submenu_slug',
    'my_magic_function_of_submenu'
);
    
posée Kaushik Kishore 18.10.2013 - 08:55

1 réponse

15

Vous pouvez utiliser le quatrième paramètre de add_menu_page() , le my_unique_slug , pour vérifier si la page existe:

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'
    );

$GLOBALS['admin_page_hooks'] est la liste des pages enregistrées.

    
réponse donnée fuxia 18.10.2013 - 09:47

Lire d'autres questions sur les étiquettes