जवाबों:
सामान्य तौर पर: हां, अपना कोड शुरू करने के लिए एक समर्पित हुक की प्रतीक्षा करें। वैश्विक नाम स्थान में कभी भी वस्तु का उदाहरण न दें। लेकिन initशायद ही जरूरी हो।
आप जितनी देर हो सके उतनी देर हुक करें। यदि आपका पहला कोड चलता है wp_headतो पहले वाले हुक का उपयोग न करें। आप कैस्केड हुक भी कर सकते हैं :
add_action( 'wp_head', 'first_callback' );
function first_callback()
{
// do something
// then
add_action( 'wp_footer', 'second_callback' );
}
initहुक के बारे में : wp_loadedइसके बजाय उपयोग करें । कहा जाता है initऔर उसके बाद चलता है ms_site_check()। इस तरह आप एक बहु-साइट स्थापना में अमान्य उप-साइट पर अपना प्लगइन चलाने से बचते हैं। बाकी हर कोई एक जैसा है।
मैं इन कारणों से इस अभ्यास के बड़े लाभ नहीं देखता :
add_actionऔर add_filterकार्यों केवल वैश्विक चर के लिए एक प्रविष्टि जोड़ने $wp_filterजो सभी फिल्टर और कार्यों रखती है। स्रोत देखें । यह आपके फ़ंक्शन को कॉल नहीं करता है। आपका कोड चलेंगे केवल जब do_actionऔर apply_filters(उचित हुक नाम के साथ) कहा जाता है, जो होता है बहुत देर से जगह है जहाँ उन हुक होना चाहिए में।
आप कह सकते हैं कि ऐसा करने से वैश्विक वैरिएबल $wp_filterको अधिक => अधिक मेमोरी की आवश्यकता होगी। लेकिन मुझे लगता है कि एक नया फ़ंक्शन बनाने में भी यही समस्या है।
एक फंक्शन में सब कुछ डालने से आपको अपने थीम / प्लगइन की हर फाइल में सभी हुक याद करने के लिए मजबूर होना पड़ता है। आप ऐसा कुछ नहीं करेंगे :
header.php: ऐड हुक और बातों के लिए कॉलबैक कार्य (मेनू की तरह, स्क्रिप्ट दर्ज की) शीर्षक में होती हैंcontent.php: सामग्री को छानने के लिए हुक और कॉलबैक फ़ंक्शन जोड़ेंadmin-menu.php: व्यवस्थापक मेनू जोड़ने के लिए हुक और कॉलबैक फ़ंक्शन जोड़ें(मान लें कि उन फ़ाइलों को आपके थीम / प्लगइन में डाला गया है)
इसके बजाय, आपको निम्न करना होगा:
header.php, content.php,admin-menu.php=> इससे आपको यह जानने में कठिनाई होगी कि जब आप header.phpफ़ाइल की सामग्री को देखते हैं तो क्या होता है । आपको पता करना होगा कि ये कॉलबैक कब निकाल दिए गए हैं।
और उस स्थिति के बारे में सोचें जब आपके विषय / प्लगइन में कई कक्षाएं हों। क्या आप सभी वर्गों के सभी हुक एक ही स्थान पर रखते हैं? या क्या प्रत्येक वर्ग में एक आवरण कार्य होता है जो सभी हुक रखता है? यह बहुत बेमानी है!
इन कारणों से ऊपर, मुझे लगता है कि यह व्यक्तिगत शैली है :)। मैं देख रहा हूँ कि कुछ हाइब्रिड जैसे कि आपने क्या कहा। कभी-कभी मुझे उन चौखटों में खोदना कठिन हो जाता है!
wp_loadedऔर MS जानकारी के लिए।