जाँच करें कि add_menu_page मौजूद है या नहीं


11

मैं एक प्लगइन पर काम कर रहा हूं जिसे मुझे भागों में जारी करना है।

समस्या यह है कि, यदि पृष्ठ में कोई मेनू है तो नए प्लगइन को 2 या अगले सबमेनू में जोड़ें या फिर नया मेनू जोड़ें और फिर प्लगइन को 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 Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.