जब मैं प्लगइन्स विकसित करता हूं तो मैं उन्हें अलग-अलग wp-content
निर्देशिकाओं में अपने प्लगइन निर्देशिका को सहानुभूति से वर्डप्रेस के कई संस्करणों पर परीक्षण करता हूं । यह बहुत अच्छा है क्योंकि मुझे केवल एक बार फ़ाइलों को संपादित करना है, लेकिन यह मेरे प्लगइन में संसाधनों के संदर्भ उत्पन्न करने के लिए एक महत्वपूर्ण निर्माण को तोड़ता है: __FILE__
भौतिक प्लगइन स्थान को संदर्भित करता है, न कि किसी को wp-content
। मुझे इसे कैसे हल करना चाहिए?
मेरी निर्देशिका संरचना इस तरह दिखती है:
/path/to/wordpress/development/dir/
plugin-development/
monkeyman-rewrite-analyzer/
monkeyman-rewrite-analyzer.php
js/
monkeyman-rewrite-analyzer.js
versions/
3.1/
wp-content/
plugins/
monkeyman-rewrite-analyzer
उपरोक्त प्लगइन के लिए एक सिमलिंक के रूप में
3.1-multi-dir/
wp-content/
plugins/
monkeyman-rewrite-analyzer
उपरोक्त प्लगइन के लिए एक सिमलिंक के रूप में
3.1-multi-domain/
wp-content/
plugins/
monkeyman-rewrite-analyzer
उपरोक्त प्लगइन के लिए एक सिमलिंक के रूप में
यदि मुझे जावास्क्रिप्ट फ़ाइल को एंक्यूब करना है, तो मुझे उपयोग करना चाहिए plugins_url( 'monkeyman-rewrite-analyzer.js', [base file] )
, लेकिन __FILE__
यहां उपयोग करने से काम नहीं चलेगा, क्योंकि वास्तविक फ़ाइल पथ होगा /path/to/wordpress/development/dir/plugin-development/monkeyman-rewrite-analyzer/monkeyman-rewrite-analyzer.php
, नहीं /path/to/wordpress/development/dir/versions/*/wp-content/plugins/monkeyman-rewrite-analyzer/monkeyman-rewrite-analyzer.php
, इसलिए वर्डप्रेस पहले भाग को बाहर नहीं निकाल सकता है और वर्डप्रेस इंस्टॉलेशन के सापेक्ष एक URL उत्पन्न कर सकता है।
WP_PLUGIN_URL
की अनुशंसा नहीं की गई है क्योंकि प्रशासकों को इस विशिष्ट प्लगइन की निर्देशिका का नाम बदलने की अनुमति दी जानी चाहिए, लेकिन क्या इससे बचने का एक और कारण भी है? और वास्तव में, आपका टिकट एक सरल समाधान होगा।