Перевірте, чи існує add_menu_page чи ні


11

Я працюю над плагіном, який треба випустити частинами.

Проблема полягає в тому, якщо на сторінці є меню, тоді додайте новий плагін до другого або наступного підменю, ще додайте нове меню, а потім додайте плагін до 1-го підменю.

Мої запитання:

  1. Як перевірити, чи існує меню?
  2. Якщо я кодую багаторазову функцію, яка буде працювати з кожним плагіном, це спричинить конфліктний варіант.
  3. Я не знаю порядку випуску плагіну.
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'
);

Відповіді:


18

Ви можете використовувати четвертий параметр add_menu_page(), то my_unique_slug, щоб перевірити , якщо сторінка існує:

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'] - це список зареєстрованих сторінок.


1
FYI, ви можете отримати доступ до глобального самостійно: global $admin_page_hooks;
Натан Ханген
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.