2012-11-14 32 views
5

मैं वर्डप्रेस के साथ काम कर रहा हूं और मैं प्लगइन को संपादित किए बिना प्लगइन फ़ंक्शंस को संशोधित करने के लिए खोज करता हूं अद्यतन के बाद फ़ंक्शन नहीं तोड़ता।प्लगइन संपादित किए बिना वर्डप्रेस प्लगइन फ़ंक्शंस को कैसे संशोधित करें?

लेकिन मुझे अभी तक समाधान नहीं मिला। क्या आप मेरी मदद कर सकते हैं ?

अग्रिम धन्यवाद

+2

क्या आप कृपया ** ** ** प्लगइन निर्दिष्ट करना चाहते हैं जिसे आप संशोधित करना चाहते हैं? दुर्भाग्य से अधिकांश प्लगइन्स इस तरह से लिखे गए नहीं हैं जो उनके कोड को संशोधित किए बिना उनकी कार्यक्षमता को ओवरराइट करने की अनुमति देता है, लेकिन यदि आप भाग्यशाली हैं, तो प्लगइन जिसे आप संपादित करना चाहते हैं वह हो सकता है जो आपको हुक और फ़िल्टर का उपयोग करके ऐसा करने देगा। –

+0

मैं WPML प्लगइन को संशोधित करना चाहता हूं। लेकिन यह प्लगइन –

+0

यदि यह कक्षा है, तो अधिकांश कार्यों में do_action() हुक मौजूद नहीं हैं, तो आप कक्षा का विस्तार करने का प्रयास कर सकते हैं .. –

उत्तर

1

मुझे इस मुद्दे का कई बार सामना करना पड़ा है। जैसा कि अन्य ने कहा है, आप PHP कार्यों को संशोधित नहीं कर सकते हैं। कक्षा को विस्तारित नहीं किया जाएगा क्योंकि प्लगइन मूल वर्ग को चालू करेगा, न कि आपके विस्तारित संस्करण।

  1. मूल प्लगइन GitHub, कांटा और क्लोन पर हो:

    सबसे अच्छा समाधान (मेरे लिए कई बार काम किया है) मौजूदा प्लगइन के लिए हुक को जोड़ने के लिए और मूल लेखक के लिए वापस प्रस्तुत इस प्रकार है यह। अन्यथा, मूल प्लगइन को स्थानीय स्तर पर git नियंत्रण में रखें। आपको बाद में एक diff या रोलबैक करने की आवश्यकता हो सकती है।

  2. WPML-एक्सटेंशन (या कुछ) नामक एक नई प्लगइन बनाएं
  3. क्रिया या फ़िल्टर के लिए मूल प्लगइन कोड खोजें। यदि वे पहले से ही उपलब्ध हैं और जो भी आपको चाहिए, तो उन्हें WPML- एक्सटेंशन प्लगइन से जोड़कर उनका उपयोग करें।
  4. यदि WPML प्लगइन में सही हुक मौजूद नहीं हैं, तो उन्हें जोड़ें और फिर ऊपर दिए गए चरणों का पालन करें। अपने परिवर्तनों को स्वीकार किए जाने की संभावना को अधिकतम करने के लिए मूल प्लगइन के नवीनतम संस्करण का उपयोग करने का प्रयास करें।
  5. यदि आपने क्रिया या फ़िल्टर जोड़कर मूल प्लगइन को संशोधित किया है, तो पैच को बचाने के लिए git diff करें ताकि आप इसे बाद में पुनः लागू कर सकें। मूल प्लगइन लेखक को पैच सबमिट करें और सर्वश्रेष्ठ के लिए आशा करें। यदि आप केवल क्रियाओं और फ़िल्टरों से फंस जाते हैं, तो लेखक आपके परिवर्तनों को तुरंत स्वीकार कर लेगा।
  6. यदि आप बाद में मूल प्लगइन अपडेट करते हैं, तो आपको स्वीकार किए जाने तक अपने परिवर्तनों को फिर से लागू करने की आवश्यकता है। आप उस diff फ़ाइल का उपयोग कर सकते हैं। प्लगइन को अपडेट करने के बाद किए गए परिवर्तनों को फिर से चलाने के लिए git rebase का उपयोग करने का कोई तरीका हो सकता है।