Periksa apakah add_menu_page ada atau tidak


11

Saya sedang mengerjakan plugin yang harus saya rilis di beberapa bagian.

Masalahnya adalah, jika ada menu di halaman kemudian tambahkan plugin baru ke submenu ke-2 atau berikutnya tambahkan menu baru dan kemudian tambahkan plugin ke submenu ke-1.

Pertanyaan saya:

  1. Bagaimana cara mengecek apakah ada menu?
  2. Jika saya sedang mengkode fungsi yang dapat digunakan kembali, itu akan pergi dengan setiap plugin maka yang menyebabkan opsi konflik.
  3. Saya tidak tahu urutan rilis 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'
);

Jawaban:


18

Anda dapat menggunakan parameter keempat add_menu_page(), the my_unique_slug, untuk memeriksa apakah halaman itu ada:

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'] adalah daftar halaman yang terdaftar.


1
FYI, Anda dapat mengakses global sendiri: global $admin_page_hooks;
Nathan Hangen
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.