मल्टीसिट प्लगइन के लिए 'ग्लोबल' सेटिंग पेज


24

मैं एक प्लगइन पर काम कर रहा हूं जो एक मल्टीसाइट उदाहरण में स्थापित किया जाएगा।

मैं एक एकल सेटिंग पृष्ठ कैसे बनाऊं जो केवल "नेटवर्क व्यवस्थापक" स्तर पर दिखाई देता है - अधिकांश गाइड जिन्हें मैंने एक मानक ब्लॉग स्तर प्लगइन से संबंधित देखा है। जानकारी के लिए कोई भी लिंक उपयोगी होगा, नहीं तो मैं सिर्फ साइटवाइड टैग के माध्यम से देखूंगा कि यह कैसे किया जा रहा है।

[अद्यतन करें]

Sitewide_tags का उपयोग करता है की तरह लग रहा add_site_option, get_site_optionऔर update_site_option, और इन कार्यों wp_sitemeta का उपयोग करें। हालाँकि, मैं जो देख सकता हूं, उसमें register_setting, add_setting, आदि का कोई समर्थन नहीं है, इसलिए आपको अपने विकल्प मैन्युअल रूप से प्राप्त करने और सेट करने होंगे।

जवाबों:


6

संदर्भ के रूप में

नेटवर्क या ग्लोबल सेटिंग बनाने के लिए, आपको निम्न कार्य करने होंगे

  • एक सेटिंग पृष्ठ जोड़ें

    add_submenu_page( 'settings.php'... # cf options.php for blog level`
  • एक वैश्विक विकल्प जोड़ें

    add_site_option($key,$value)
  • एक वैश्विक विकल्प अपडेट करें

    update_site_option($key,$value)
  • साइट विकल्प प्राप्त करें

    get_site_option($key)

वैश्विक सेटिंग्स को sitemetaटेबल पर सहेजा जाता है (व्यक्तिगत ब्लॉग सेटिंग्स को <blog_id>_optionsटेबल पर सहेजा जाता है

  • मुझे लगता है कि ब्लॉग स्तर पर सेटिंग्स एपीआई कार्य करता है - इसलिए विकल्प तालिका का उपयोग करता है, साइटमैप का नहीं। इसलिए, आप नेटवर्क स्तर पर विकल्प समूहों और जैसे का उपयोग नहीं कर सकते ( कृपया टिप्पणी करें यदि मुझे यह गलत लगा है )

0

ठीक है, मुझे हाल ही में उसी जरूरत का सामना करना पड़ा, लेकिन इसका जवाब या तो नहीं पता था। जबकि आपके प्रश्न का उत्तर स्पष्ट रूप से नहीं है, एक विकल्प सिर्फ 'मुख्य' ब्लॉग के विकल्पों के तहत विकल्प पृष्ठ बनाना है और यह देखना है कि क्या मल्टीसाइट सक्षम है।

आदर्श तरीका नहीं है, लेकिन अगर (मेरी तरह) आप केवल अपने स्वयं के उपयोग के लिए एक आंतरिक प्लगइन बना रहे थे, तो यह व्यावहारिक है। इसका यह भी लाभ है कि व्यवस्थापक पृष्ठों के सभी सामान्य कार्य उपलब्ध हैं - जो वे अभी तक वैश्विक नेटवर्क व्यवस्थापक पृष्ठ संदर्भ में नहीं हैं।


0

जब आप उपयोग करते हैं add_submenu_page(), add_menu_page()आदि और अपेक्षा करते हैं कि सेटिंग्स पृष्ठ आपके मल्टीसाइट डैशबोर्ड में दिखाई दें, network_admin_menuइसके बजाय हुक का उपयोग करने पर विचार करेंadmin_menu

उदाहरण:

add_action( 'network_admin_menu', 'network_settings_page' );
function network_settings_page(){
    add_submenu_page(

        ...
    )
}

सेटिंग्स को बचाने के लिए आप network_admin_edit_{ACTION}एक्शन हुक का उपयोग कर सकते हैं ।

संदर्भ: https://rudrastyh.com/wordpress-multisite/custom-tabs-with-options.html

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.