Sprawdź, czy istnieje strona add_menu_page, czy nie


11

Pracuję nad wtyczką, którą muszę wydać częściowo.

Problem polega na tym, że jeśli na stronie znajduje się menu, dodaj nową wtyczkę do 2. lub następnego podmenu, w przeciwnym razie dodaj nowe menu, a następnie dodaj wtyczkę do 1. podmenu.

Moje pytania:

  1. Jak sprawdzić, czy istnieje menu?
  2. Jeśli koduję funkcję wielokrotnego użytku, która będzie pasować do każdej wtyczki, spowoduje to opcję konfliktu.
  3. Nie znam kolejności wydania wtyczki.
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'
);

Odpowiedzi:


18

Można użyć czwarty parametr add_menu_page(), my_unique_slug, aby sprawdzić, czy strona istnieje:

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'] to lista zarejestrowanych stron.


1
Do twojej wiadomości, możesz uzyskać dostęp do globalnej społeczności na własną rękę: global $admin_page_hooks;
Nathan Hangen
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.