निर्भरता के साथ एक प्लगइन बनाना


21

मैं एक और प्लगइन की कार्यक्षमता का विस्तार करने की कोशिश कर रहा हूं। मुझे मूल प्लगइन की तुलना में एक अलग तरीके से उपयोग करने के लिए सरणी से डेटा प्राप्त करने की आवश्यकता है। (इस मामले में, WPMUDev श्रेणियाँ और सूची प्लगइन्स)। कोडेक्स में कुछ है? मैं एक प्लगइन कैसे बना सकता हूं जो अन्य प्लगइन्स फ़ंक्शन का उपयोग कर सकता है? क्या मैं उन्हें विस्तारित कर सकता हूं और मूल नोड्स कार्यों का निर्माण कर सकता हूं? मुझे यकीन नहीं है कि ये प्लगइन्स कक्षाओं या सीधे कार्यों का उपयोग कर रहे हैं।

मैं सिर्फ प्लगइन से साइडबार विजेट (एक फार्म विकल्प तत्व में) में डेटा प्राप्त करने की कोशिश कर रहा हूं, लेकिन अंततः मैं कस्टम शॉर्टकोड का उपयोग करके सामग्री क्षेत्र के लिए भी इसका उपयोग करूंगा। अभी के लिए मुझे बस शुरुआत करने के लिए जगह चाहिए।


4
FWIW इस विषय के बारे में एक ट्रैक टिकट है core.trac.wordpress.org/ticket/22316
Norcross

जवाबों:


22

हां, एक प्लगइन बनाना संभव है जो दूसरे प्लगइन का विस्तार करता है। यहाँ कुछ विचार दिए गए हैं कि आप इसके बारे में कैसे जा सकते हैं:

  1. एक प्लगइन अपनी ही कार्रवाई और फिल्टर हुक (का उपयोग कर स्थापित कर सकते हैं do_actionऔर apply_filterकार्यों) जैसे वर्डप्रेस कोर करता है। यदि आप जिस टारगेट को टारगेट कर रहे हैं वह ऐसा करता है, तो आप कार्यक्षमता को बदलने के लिए इन हुक का उपयोग कर सकते हैं।

  2. यदि कोई प्लगइन ऑब्जेक्ट-ओरिएंटेड संरचना का उपयोग करता है, तो आप कक्षाओं का विस्तार कर सकते हैं और मूल प्लगइन पर निर्माण कर सकते हैं।

  3. आप मूल प्लगइन द्वारा डेटाबेस में संग्रहीत डेटा को पढ़ सकते हैं और इसे अपने प्लगइन कोड में उपयोग कर सकते हैं।

  4. आप मूल प्लगइन से किसी भी फ़ंक्शन को कॉल कर सकते हैं, जिसे आप पसंद करते हैं, जब आपने जाँच लिया है कि प्लगइन सक्रिय है और लोड किया गया है (नीचे देखें)। बस किसी भी प्रभाव के बारे में पता होना चाहिए जो फ़ंक्शन को दिए गए मान के अलावा हो सकता है।

आपको जांचना होगा कि मूल प्लगइन सक्रिय है या नहीं। आप is_plugin_activeफ़ंक्शन का उपयोग कर सकते हैं ; हालाँकि, यह केवल व्यवस्थापक पृष्ठों पर काम करता है। वैकल्पिक रूप से, आप उपयोग कर सकते हैं function_existsया class_existsयह जांच सकते हैं कि मूल प्लगइन से कोई विशेष फ़ंक्शन या वर्ग उपलब्ध है या नहीं, जो आपको बताएगा कि यह चल रहा है।

याद रखें कि कभी भी मूल प्लगइन अपडेट किया जाता है, आपको अपने प्लगइन के साथ संघर्ष करने वाले कुछ भी नया देखने के लिए नए संस्करण के साथ अपने प्लगइन का परीक्षण करने की आवश्यकता है।

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