Compruebe si existe add_menu_page o no

10

Estoy trabajando en un complemento que debo liberar en partes.

El problema es que si hay un menú en la página, agregue el nuevo complemento al segundo o al siguiente submenú, o agregue un nuevo menú y luego agregue el complemento al primer submenú.

Mis preguntas:

  1. ¿Cómo comprobar que existe un menú?
  2. Si estoy codificando una función reutilizable, eso irá con cada complemento, entonces eso causa una opción de conflicto.
  3. No sé el orden de la versión del complemento.
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'
);
    
pregunta Kaushik Kishore 18.10.2013 - 08:55

1 respuesta

15

Puedes usar el cuarto parámetro de add_menu_page() , el my_unique_slug , para verificar si la página 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'] es la lista de páginas registradas.

    
respondido por el fuxia 18.10.2013 - 09:47

Lea otras preguntas en las etiquetas