Get_site_option और get_blog_option के बीच क्या अंतर है?


9

मैं get_site_option () और get_blog_option () के बीच के अंतर को समझने की कोशिश कर रहा हूं ।

क्या ब्लॉग और साइट दो अलग-अलग चीजें हैं? माफी अगर यह सवाल बुनियादी लगता है, लेकिन जब एक वर्डप्रेस वेबसाइट का जिक्र होता है, तो मैंने हमेशा दोनों शब्दों का बहुत ही शिथिल उपयोग किया है (मतलब एक ही बात)। मैं अब सोच रहा था कि क्या कोई अंतर है?

जवाबों:


15

get_option()वर्तमान ब्लॉग के लिए एक विकल्प देता है ।

एकल साइट स्थापना में, वर्तमान ब्लॉग एकमात्र ब्लॉग है। तो इसके लिए get_option()रिटर्न का विकल्प प्राप्त करें ।


get_site_option()एक नेटवर्क-वाइड को पुनः प्राप्त करने के लिए उपयोग किया जाता है। इसका मतलब है कि आप नेटवर्क के किसी भी साइट से एक ही विकल्प प्राप्त कर सकते हैं।

जब यह फ़ंक्शन एकल इंस्टॉलेशन में उपयोग किया जाता है, तो यह सामान्य रूप से उसी चीज़ को लौटाता है get_option()। मान बदल सकता है क्योंकि get_site_option()ट्रिगर हुक जो ट्रिगर नहीं करते हैं get_option()

ध्यान दें कि एक बार $wpdb->optionsतालिका ब्लॉग-विशिष्ट होने के बाद, नेटवर्क-वाइड विकल्प $wpdb->sitemetaतालिका में संग्रहीत किए जाते हैं , जो मल्टीसाइट इंस्टॉलेशन के लिए विशिष्ट है।


get_blog_option()केवल तीन कार्यों में से केवल 1 तर्क के रूप में विकल्प नाम प्राप्त नहीं होता है, लेकिन इसका 1 तर्क है $blog_id

वास्तव में, यह एक विशिष्ट ब्लॉग से एक विकल्प को पुनः प्राप्त करने के लिए मल्टीसाइट इंस्टॉलेशन में उपयोग किया जाता है, जिसे आईडी जाना जाता है।

यह कार्य क्या करता है:

switch_to_blog( $blog_id );
$value = get_option( $option, $default );
restore_current_blog();

return $value;

यदि $blog_idवर्तमान ब्लॉग आईडी के समान है, तो वर्डप्रेस केवल switch_to_blogभाग को छोड़ देता है और कॉल करता है get_option()

यह फ़ंक्शन फ़ाइल में परिभाषित किया गया है wp-includes/ms-blogs.phpजो केवल मल्टीसाइट इंस्टॉलेशन के लिए लोड get_blog_option()किया गया है , इसलिए एकल साइट इंस्टॉलेशन में परिभाषित नहीं किया गया है।


6

get_site_option()- एक नेटवर्क व्यापक विकल्प हो जाता है। यह विकल्प आमतौर पर एक मल्टीसिट सेट-अप के नेटवर्क व्यवस्थापक सेटिंग्स अनुभाग में जोड़ा जाता है। अगर मेरे पास 50 साइटें हैं, तो 50 अलग-अलग साइटों पर जाने और एक ही विकल्प मान सेट करने के लिए दर्द होगा। इसके बजाय मैं एक बार विकल्प मूल्य निर्धारित कर सकता था और इसे सभी साइटों के लिए नेटवर्क पर लागू कर सकता था। Http://codex.wordpress.org/Function_Reference/get_site_option देखें

get_blog_option()- आपको एक विशिष्ट साइट के लिए एक विकल्प का मूल्य मिलता है। प्रत्येक साइट के लिए एक उपयोगकर्ता विशिष्ट विकल्प का मूल्य प्राप्त करने के लिए एक उदाहरण हो सकता है। इसलिए मैं उन सभी साइटों को प्राप्त कर सकता हूं जो उपयोगकर्ता के पास हैं, साइट आईडी की सूची पर लूप करें और get_blog_option()पासिंग blog_idऔर विकल्प नाम का उपयोग करें और परिणाम प्राप्त करें। यह एक सुविधा कार्य है जो बहुत निम्नलिखित करता है:

switch_to_blog( $id ); $value = get_option( $option_name ); restore_current_blog();

Http://codex.wordpress.org/Function_Reference/get_blog_option देखें

tl; dr: get_site_option() एक नेटवर्क विस्तृत मान प्राप्त करता है, get_blog_option()किसी साइट के लिए उस साइट पर स्विच करने की आवश्यकता के बिना एक विशिष्ट मूल्य प्राप्त करता है।

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