Kiểm tra xem add_menu_page có tồn tại hay không


11

Tôi đang làm việc trên một plugin mà tôi phải phát hành theo từng phần.

Vấn đề là, nếu có một menu trong trang thì hãy thêm plugin mới vào menu con thứ 2 hoặc tiếp theo, hãy thêm một menu mới và sau đó thêm plugin vào menu con thứ nhất.

Những câu hỏi của tôi:

  1. Làm thế nào để kiểm tra xem có tồn tại một menu?
  2. Nếu tôi đang mã hóa một chức năng có thể sử dụng lại, điều đó sẽ đi với mọi plugin thì điều đó gây ra tùy chọn xung đột.
  3. Tôi không biết thứ tự phát hành 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'
);

Câu trả lời:


18

Bạn có thể sử dụng tham số IV add_menu_page(), các my_unique_slug, để kiểm tra xem trang tồn tại:

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'] là danh sách các trang đã đăng ký.


1
FYI, bạn có thể tự mình truy cập toàn cầu: global $admin_page_hooks;
Nathan Hangen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.