प्लगइन (मुख्य) फ़ाइल और प्लगइन के बीच का अंतर एक जगह है जहाँ वर्डप्रेस कोडेक्स बहुत बेहतर कर सकता है। मैं आपके भ्रम को समझता हूं क्योंकि मैंने इसे हाल ही में महसूस किया है (हताशा के साथ मिश्रित)।
यह मैंने वर्डप्रेस कोर कोड पर कुछ "जासूसी काम" करके सीखा है।
प्लगइन फ़ाइल
यह एक अनोखा तरीका है जिससे वर्डप्रेस एक प्लगइन की पहचान और रिकॉर्ड करता है। यह प्लगइन की डायरेक्टरी और मुख्य प्लगइन फाइल से बना होता है (एक फ़ाइल हेडर के साथ जो विभिन्न प्लगइन विवरण जैसे संस्करण, लेखक, आदि) के साथ है।
यह कुछ इस तरह दिखेगा: your-plugin-directory/main-file.php
यदि आप सक्रिय प्लगइन्स डेटा get_option( 'active_plugins' )
को देखते हैं (द्वारा लौटाया गया है ), तो आप देखेंगे कि वर्डप्रेस को केवल प्लगइन्स को ठीक से पहचानने के लिए इस प्लगइन फ़ाइल की आवश्यकता है।
आप इसे अपने प्लगइन की मुख्य फ़ाइल सापेक्ष पथ (उस wp-content/plugins/
निर्देशिका के सापेक्ष ) के रूप में सोच सकते हैं । आप इस तरह से कुछ के साथ मुख्य प्लगइन फ़ाइल के पूर्ण पथ "रचना" कर सकते हैं:trailingslashit( WP_PLUGIN_DIR ) . $plugin_main_file
कोर ही प्लगइन फ़ाइल को इस तरह से उत्पन्न करता है:
$plugin_main_file = plugin_basename( trim( $plugin_main_file_absolute_path ) );
प्लग इन स्लग
प्लगइन "स्लग" की अपेक्षा करेगा कि प्लगइन के लिए कुछ प्रकार के मानकीकृत आईडी हो जैसे पोस्ट स्लग पोस्ट के लिए है - इसलिए आप इस "स्लग" का उपयोग वर्डप्रेस कोर कार्यों को प्रदान करने और चीजों को प्राप्त करने के लिए कर सकते हैं।
ज़रुरी नहीं। प्लगइन स्लग (या किन मामलों के लिए थीम) के संदर्भ के लिए कोर की खोज करने और लगभग कुछ भी नहीं खोजने के बाद, मुझे लगता है कि मेरे पास इस पर एक पकड़ है।
एकमात्र असली स्लग वे हैं जो एक अद्वितीय URL के माध्यम से सुलभ होने वाली चीज़ों के लिए हैं: पोस्ट, पेज, टैक्सोनॉमी, आदि। यह किसी चीज़ का नाम लेने के लिए (एक पोस्ट शीर्षक की तरह) और उस के URL अनुकूल संस्करण उत्पन्न करने का पूरा बिंदु है: उपयोग करने के लिए यह एक URL में है।
लेकिन हम URL में विषय / प्लगइन्स "स्लग" का उपयोग कहां करते हैं?
हम अलग-अलग वर्डप्रेस इंस्टॉलेशन पर ऐसा नहीं करते हैं - न तो WP एडमिन या फ्रंटएंड में।
हालाँकि, वर्डप्रेस कोड, WordPress.org साइट के साथ बहुत अधिक उलझी हुई जगह है । लोगों को दोनों के बीच अंतर करने में मुश्किल समय आ रहा है, जिसमें यह भी शामिल है कि डेवलपर्स के बीच किसी तरह से आम हो गया है। WordPress.org थीम या प्लगइन स्लग को पोस्ट या पेज स्लग के समान काम करना चाहिए।
वे एक ही उद्देश्य से लेकिन अलग-अलग वेबसाइटों पर काम करते हैं । WordPress.org पर उनका उपयोग दूसरों की थीम को विशिष्ट रूप से पहचानने के लिए किया जाता है, और बाकी (जैसे URL में https://wordpress.org/plugins/akismet/
) से एक प्लगइन ।
लेकिन जब यह अलग-अलग वर्डप्रेस इंस्टॉलेशन की बात आती है , तो समान विशिष्टता की गारंटी नहीं दी जा सकती क्योंकि इसे लागू करने का कोई अधिकार नहीं है (जैसे WordPress.org पर)। यह काम कर सकता है अगर सभी प्लगइन्स और थीम WordPress.org से आए, लेकिन शुक्र है कि ऐसा नहीं है।
वर्डप्रेस कोड थीम / प्लगइन स्लग के साथ क्या करता है?
वर्डप्रेस कोर कोड थीम / प्लगइन्स को इंस्टॉल करने, एक्टिवेट करने, अपडेट करने, डिलीट करने जैसे काम करने के लिए थीम / प्लगइन स्लग पर निर्भर नहीं करता है ।
थीम के लिए, यह थीम डायरेक्टरी पर निर्भर करता है क्योंकि थीम में मुख्य एंट्री पॉइंट style.css
फ़ाइल है (आप अपने थीम विवरण हेडर को होल्ड करने के लिए किसी अन्य सीएसएस फ़ाइल का उपयोग नहीं कर सकते हैं)।
प्लगइन्स के लिए, यह प्लगइन निर्देशिका और मुख्य प्लगइन फ़ाइल पर निर्भर करता है , क्योंकि प्लगइन्स अपनी मुख्य फ़ाइल को कॉल कर सकते हैं, हालांकि वे पसंद करते हैं।
केवल एक चीज जिसके लिए कोर थीम / प्लगइन्स स्लग का उपयोग करता है , वह है। जब वह वर्डप्रेस.ऑर्ग डायरेक्टरी से थीम और प्लगइन्स को संभालता है: प्लगइन्स की सूचियाँ प्राप्त करना, अपडेट की जाँच करना, निर्देशिका उपयोग डेटा पर वापस रिपोर्ट करना, और इसी तरह।
प्लगइन स्लग के बारे में चीजों को लपेटने के लिए : जब भी आपको slug
एंट्री के साथ प्लगइन डेटा मिलेगा , 99% समय यह प्लगइन के वर्डप्रेस.org स्लग को संदर्भित करेगा ।
हम प्लगइन्स की पहचान कैसे करते हैं?
यदि आप किसी वर्डप्रेस इंस्टॉलेशन पर प्रोग्राम को सक्रिय रूप से सक्रिय करना, अपडेट करना, निष्क्रिय करना या हटाना चाहते हैं, तो आपको प्लगइन फाइल का उपयोग करने की आवश्यकता है । आप इसे अपने प्लगइन की मुख्य फ़ाइल से प्राप्त कर सकते हैं :
$plugin_file = plugin_basename( __FILE__ );
यदि आप किसी अन्य प्लगइन से एक निश्चित प्लगइन को लक्षित करना चाहते हैं , तो चीजें थोड़ी मुश्किल हो जाती हैं क्योंकि आपको "अनुमान" के एक बिट पर भरोसा करने की आवश्यकता होती है।
आप प्लगइन नाम को हार्ड-कोड कर सकते हैं, सभी प्लगइन्स की सूची में प्लगइन खोजें (get_plugins () देखें ) और वहाँ से प्लगइन फ़ाइल प्राप्त करें।
यदि आप एक वर्ग या फ़ंक्शन को जानते हैं जो उस प्लगइन द्वारा परिभाषित किया गया है तो आप प्रतिबिंब का उपयोग कर सकते हैं ( कक्षाओं के लिए यह उत्तर और कार्यों के लिए यह एक देखें )।
मुझे आशा है कि यह आपकी और दूसरों की मदद करता है जो "प्लगइन स्लग" से निपटने में एक कठिन समय हो सकता है। यह मुझे कुछ घंटे बचा सकता था :)