वर्डप्रेस प्लगइन बॉयलरप्लेट 101: कैसे शुरू करें

वर्डप्रेस प्लगइन बॉयलरप्लेट 101: कैसे शुरू करें

वर्डप्रेस प्लगइन बॉयलरप्लेट 101: कैसे शुरू करें
СОДЕРЖАНИЕ
02 июня 2020

लगभग 10 साल पहले वर्डप्रेस प्लगइन्स की स्थापना के बाद से हमारे द्वारा लिखने के तरीके में बहुत कुछ नहीं बदला है। मूल रूप से वाइल्ड वेस्ट के बाद हेडर के साथ एक मुख्य प्लगइन फाइल है। हुक का उपयोग करने के अलावा, प्लगइन्स बनाने का कोई मानकीकृत तरीका नहीं है.


यह आवश्यक रूप से एक समस्या नहीं है। कई सरल प्लगइन्स हैं जिन्हें एक गवर्निंग फ्रेमवर्क की आवश्यकता नहीं है, और कुछ लोग हैं जो पूरी तरह से सुसंगत प्रक्रियात्मक कोड लिख सकते हैं। उस ने कहा, प्लगइन्स में कोड की गुणवत्ता आम तौर पर सबसे अच्छी नहीं होती है, एक रूपरेखा या कार्यप्रणाली इसे बढ़ाने में एक लंबा रास्ता तय करेगी.

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

सामान्य फ़ाइल संरचना

बॉयलरप्लेट का उपयोग जीथब रिपॉजिटरी के रूप में किया जाना है, इसलिए मुख्य निर्देशिका में आमतौर पर जीथब रिपोज में पाए जाने वाली फाइलें होती हैं। README.md फ़ाइल एक सामान्य रीडमी है और विवरण के रूप में आपके मुख्य भंडार पृष्ठ पर दिखाई देती है। CHANGELOG.md फ़ाइल संस्करण और .ignignore फ़ाइल के बीच परिवर्तनों को रिकॉर्ड करने के लिए है। उन फ़ाइलों को सेट करने के लिए है जिन्हें git को फ़ाइलों के साथ काम करने में अनदेखा करना चाहिए।.

यहाँ मुख्य फ़ोल्डर प्लगइन-नाम है जहाँ प्लगइन संग्रहीत है। इसकी संरचना वर्डप्रेस रिपॉजिटरी का अनुसरण करती है, और आप कर सकते हैं "चेक इन" SVN प्लगइन रेपो के लिए यह फ़ोल्डर। डिफ़ॉल्ट रूप से, इसमें एसेट फ़ोल्डर होता है, जो आपके प्लगइन के लिए छवियों और स्क्रीनशॉट को संग्रहीत करता है, और ट्रंक फ़ोल्डर, जिसमें प्लगइन के लिए कोड होता है.

ट्रंक फ़ोल्डर में प्लगइन होता है, आप इस फ़ोल्डर को वर्डप्रेस इंस्टॉलेशन में पेस्ट कर सकते हैं और अपने प्लगइन को सक्रिय कर सकते हैं। हम इस फ़ोल्डर की सामग्री को थोड़ी देर बाद विस्तार से देखेंगे। इससे पहले कि हम ऐसा करें, दुकान को सेट अप करें.

नई प्लगइन

यह सब स्थापित करना

इन सभी फ़ोल्डरों और SVN / Git में एक ही स्थान पर होने के कारण सब ठीक है और अच्छा है, लेकिन आप वास्तव में इसका उपयोग कैसे कर सकते हैं? आप सीधे अपने प्लग इन फ़ोल्डर में पूरे फ़ोल्डर की जाँच नहीं कर सकते, यह बस काम नहीं करेगा। केवल ट्रंक निर्देशिका की जांच करना एक परेशानी है, साथ ही आपको उस निर्देशिका के बाहर की फ़ाइलों तक पहुंच नहीं है.

मुझे चीजों को स्थापित करने का मेरा पसंदीदा तरीका दिखाते हैं। मेरे कंप्यूटर पर निम्न संरचना वाला एक फ़ोल्डर है:

  • GitHub
    • टॉप-लेखक
    • आसान विशेष रुप से प्रदर्शित-छवियाँ
    • ट्विटर-उपयोगकर्ता-समयसीमा
  • एचटीएमएल
    • WP-व्यवस्थापक
    • WP-सामग्री
    • WP-शामिल
    • अन्य वर्डप्रेस फाइलें
  • वर्डप्रेस
    • शीर्ष लेखकों
    • आसान विशेषताओं-छवियों
    • ट्विटर-उपयोगकर्ता के समयसीमा

HTML फ़ोल्डर वह जगह है जहाँ वर्डप्रेस इंस्टॉल किया गया है। Github फ़ोल्डर में Github के मेरे सभी WordPress प्लगइन्स शामिल हैं। वर्डप्रेस फ़ोल्डर में वर्डप्रेस रिपॉजिटरी से SVN द्वारा खींचे गए समान प्लगइन्स होते हैं.

एक सिमिंक बनाना

पहला कदम मैं Github पर वर्डप्रेस प्लगइन बॉयलरप्लेट का एक वैनिला संस्करण बना रहा हूं। मैं तो अपने github फ़ोल्डर में बाहर की जाँच करें। इसके बाद, मैं अपने वर्डप्रेस इंस्टॉल के wp-content / plugins निर्देशिका के भीतर ट्रंक फ़ोल्डर के बीच एक सिमलिंक बनाता हूं.

साइमलिंक एक फ़ाइल या एक फ़ोल्डर का संदर्भ है जो आपके लक्ष्य के अनुसार हल होता है जैसा आप उम्मीद करेंगे। इसका अंतिम परिणाम यह है कि यदि आप अपने सिस्टम पर कहीं से भी अपने वर्डप्रेस डायरेक्टरी में एक प्लगइन को सीम्लिंक करते हैं, तो यह ठीक काम करेगा। इससे आपको निम्नलिखित लाभ मिलते हैं:

  • आप कहीं और प्लगइन्स स्टोर कर सकते हैं.
  • आप किसी बड़े रिपॉजिटरी के भीतर से किसी फ़ोल्डर को सिमल कर सकते हैं.
  • आप एक ही प्लग इन को कई इंस्टॉलेशन में सिमिलिंक कर सकते हैं.

विंडोज पर टर्मिनल या कमांड प्रॉम्प्ट से सिमिलिंक बनाना आसान है। मैं सुझाव देता हूं कि अपने वर्डप्रेस इंस्टॉलेशन के प्लगइन्स डायरेक्टरी में एक को खोलें और नेविगेट करें। फिर, निम्न कमांड टाइप करें:

# OSX या Linux के लिए
ln -s / निरपेक्ष / पथ / to / github / My-Plugin-Name / my-plugin-name / trunk my-plugin-name

# विंडोज के लिए
mklink / j C: \ निरपेक्ष \ path \ to \ github \ My-Plugin-name my-plugin-name

यह पहले रास्ते से दूसरे तक लिंक बनाता है। पहला पथ आपके गिथुब भंडार में ट्रंक निर्देशिका का पूर्ण पथ है। दूसरा केवल उस फ़ोल्डर का नाम है जिसे आप इसे तब लिंक करना चाहते हैं जब आप पहले से ही अपने वर्डप्रेस इंस्टॉलेशन के प्लगइन्स डायरेक्टरी में हैं.

एक बार हो जाने के बाद, आपको अपने नए प्लगइन शो को देखना चाहिए, जैसे ऊपर की छवि में। हमें चीजों को अनुकूलित करने की आवश्यकता होगी, लेकिन अब हमारे पास Github रिपॉजिटरी से चल रहे हमारे प्लगइन हैं, जिससे विकास एक हो जाता है बहुत आसान.

नाम बदल रहा है

ट्रंक निर्देशिका के भीतर बहुत सारे फ़ोल्डर और फाइलें हैं, आइए उनका नाम बदलना शुरू करें! सबसे पहले, मैं आपको डैश और कैपिटल अक्षरों का उपयोग करके अपने रिपॉजिटरी का नाम देने की सलाह देता हूं, कुछ इस तरह से: My-Awesome-Plugin। भीतर के मुख्य फ़ोल्डर का नाम be my-awesome-plugin ’होना चाहिए। मैं पूरे प्लगइन में इस सम्मेलन का उपयोग करने की सलाह देता हूं.

OSX में फ़ाइलों का नाम बदलना आसान है। सभी फ़ोल्डर्स खोलें और उन सभी फ़ाइलों का चयन करें जिनमें स्ट्रिंग स्ट्रिंग-नाम है। सभी 14 फ़ाइलों का नाम बदलने के लिए राइट क्लिक करें और बैच बहुत नाम बदलें.

नाम बदलने

यह विंडोज में थोड़ा अधिक कठिन होगा, इस पर एक नज़र डालें HowToGeek अधिक जानकारी के लिए लेख, या बस एक-एक करके जाना.

जैसी शर्तें "प्लगइन नाम" और अन्य भिन्नताएँ पूरी फ़ाइल सामग्री में भी फैली हुई हैं। आप उपयोग कर सकते हैं उदात्त, Atom.io या अन्य सक्षम पाठ संपादकों को कई फाइलों के भीतर बड़े पैमाने पर प्रतिस्थापित करना। यहाँ आपको क्या बदलना चाहिए की एक सूची दी गई है (केस-सेंसिटिव सर्च-रीप्ले करने के लिए सुनिश्चित करें).

  • PLUGIN_NAME my_awesome_plugin बनना चाहिए
  • PLUGIN_NAME My_Awesome_Plugin बनना चाहिए
  • प्लगइन नाम मेरा भयानक-प्लगइन बनना चाहिए

एक बार जब आप कर लें, तो अपनी आवश्यकताओं के अनुसार अनुकूलित करने के लिए मुख्य फ़ाइल की शीर्ष लेख टिप्पणी (my-awesome-plugin.php) भरना सुनिश्चित करें.

विषय – सूची

वर्डप्रेस प्लगइन बॉयलरप्लेट के भीतर बहुत कुछ निहित है। विचार यह है कि आप जहां चीजें रख सकते हैं, उस पर सख्त दिशा-निर्देश तय करें। उदाहरण के लिए अपने हुक जोड़ने के लिए एक विशिष्ट स्थान है, फ्रंट-एंड फ़ंक्शंस और इतने पर जोड़ने के लिए एक मानक स्थान। आइए फ्रेमवर्क के प्रमुख हिस्सों पर एक नज़र डालें.

ध्यान दें कि मैं फ़ाइलों का जिक्र करूंगा क्योंकि उनका नाम बदल दिया गया है, उदाहरण के लिए: इसमें / class-my-awesome-plugin.php शामिल है। यदि आपने अपना प्लगइन किसी और चीज़ में बदल लिया है, तो आपको यह याद रखना होगा कि फ़ाइल नाम का मेरा-भयानक-प्लगइन हिस्सा आपके लिए अलग होगा.

सक्रियण, निष्क्रियकरण और स्थापना रद्द करना

प्लगइन सक्रिय होने पर आप जिस भी कोड को चलाना चाहते हैं, उसमें / my-awesome-plugin-name-activator.php शामिल होना चाहिए। इस फ़ाइल में, My_Awesome_Plugin_Activator नाम का एक वर्ग है जिसके अंदर एक सक्रिय () विधि है जिसका आपको उपयोग करना चाहिए.

यदि आप अभी तक वस्तुओं पर गति नहीं कर रहे हैं, तो चिंता न करें, यह जानने के लिए कि चीजें कहाँ से शुरू करने के लिए पर्याप्त होंगी.

निष्क्रिय करने के लिए आपको जिस कोड को चलाने की आवश्यकता होती है, उसे / my-awesome-plugin-name-defaultivator.php में शामिल किया जाना चाहिए। My_Awesome_Plugin_Deactivator के भीतर सक्रिय () विधि वह है जिसका आपको उपयोग करना होगा.

क्या आपको लगता है कि यह थोड़ा बहुत जटिल है? मैं तुम्हें दोष नहीं देता! जब आप ऑब्जेक्ट ओरिएंटेड अवधारणाओं का उपयोग करना शुरू करते हैं तो आप इस प्रक्रियात्मक कोड का लाभ देखेंगे। यदि और कुछ नहीं है, तो यह आपके कोड को रखने के लिए एक बहुत ही स्पष्ट स्थान प्रदान करता है जो अपने आप में एक बड़ी मदद है.

स्थापना रद्द करने के लिए, अनुशंसित विधि uninstall.php का उपयोग करना है जो कि वर्डप्रेस प्लगइन बॉयलरप्लेट करता है। आपका कोड उस फ़ाइल के बहुत नीचे रखा जाना चाहिए.

हुक जोड़ना

हुक को वर्डप्रेस प्लगइन बॉयलरप्लेट द्वारा आश्चर्यजनक रूप से संभाला जाता है, लेकिन यह पहली बार में थोड़ा सा खराब लग सकता है। आपके सभी हुक में / वर्ग-मेरा-भयानक-plugin.php शामिल होना चाहिए। विशेष रूप से, My_Awesome_Plugin वर्ग के अंदर, दो तरीकों के भीतर:

  • define_public_hooks () एक हुक को जोड़ने पर जो सामने के छोर पर उपयोग किया जाता है
  • define_admin_hooks () बैक-एंड पर उपयोग होने वाले हुक को जोड़ने पर

हमेशा की तरह add_action () या add_filter () का उपयोग करने के बजाय, आपको कुछ अलग तरीके से करने की आवश्यकता होगी। यहां बताया गया है कि आप उदाहरण के लिए पोस्ट सामग्री कैसे संशोधित करते हैं.

इस $->लोडर->add_action (‘the_content’, $ plugin_public, ‘rev_post_content’);

पहला पैरामीटर हुक का नाम है, दूसरा सार्वजनिक या व्यवस्थापक ऑब्जेक्ट का संदर्भ है। सार्वजनिक हुक के लिए यह $ plugin_public होना चाहिए, व्यवस्थापन हुक के लिए यह $ plugin_admin होना चाहिए। तीसरा पैरामीटर झुका हुआ फ़ंक्शन है.

जबकि यह अधिक जटिल लगता है कि यह हुक के जोड़ को पूरी तरह से मानकीकृत करता है, उन्हें प्रक्रिया में दो अलग-अलग समूहों में विभाजित करता है.

सार्वजनिक और व्यवस्थापक सामग्री

वर्डप्रेस प्लगइन बॉयलरप्लेट प्रशासन / सार्वजनिक समूहों में हुक को विभाजित करता है लेकिन यह सब नहीं है। यह आपके सभी कोड को उसी तरह से विभाजित करता है जैसे कि आप सार्वजनिक फ़ोल्डर में सार्वजनिक-सामना कोड लिखने के लिए और व्यवस्थापक फ़ोल्डर में व्यवस्थापक-सामना करने वाला कोड लिखने के लिए कहते हैं.

दोनों फ़ोल्डरों में css, js और partials फ़ोल्डर्स होते हैं। आपको सीएसएस / जेएस परिसंपत्तियों को इन फ़ोल्डरों में जगह देनी चाहिए और HTML और अन्य पुन: प्रयोज्य बिट्स को आंशिक फ़ोल्डर में लिखना चाहिए। यह वास्तव में, कि यह क्या है के लिए विभाजन फ़ोल्डर में नई फ़ाइलें बनाने के लिए ठीक है!

आपको संबंधित निर्देशिकाओं में वर्ग के भीतर, इन फ़ोल्डरों में अपने झुके हुए कार्यों को लिखना चाहिए। जब हमने ऊपर_मिशन के लिए Rev_post_content फ़ंक्शन को झुका दिया, तो हमने वर्डप्रेस प्लगइन बॉयलरप्लेट को बताया कि इसके लिए भी कहां देखें। चूंकि हमने इसे सार्वजनिक सामना करने वाले पक्ष में जोड़ा है, इसलिए वर्डप्रेस प्लगइन बॉयलरप्लेट को यह उम्मीद है कि इसे My_Awesome_Plugin_Public वर्ग के भीतर परिभाषित किया जाएगा जो सार्वजनिक फ़ोल्डर में है। बस इस फ़ंक्शन को कक्षा के भीतर बनाएं और हमेशा की तरह बाकी सब कुछ लिखें.

संसाधन और निर्भरताएँ

यदि आप बाहरी संसाधनों का उपयोग करना चाहते हैं, जैसे कि TGM प्लगइन सक्रियण, आपको उस फ़ोल्डर में शामिल करना चाहिए। TGM एक एकल फ़ाइल है जिसका नाम class-tgm-plugin-activate.php है जिसे class-my-awesome-plugin.php फ़ाइल में शामिल किया जाना चाहिए, load_d dependencies () विधि के भीतर:

आवश्यकता_संग्रह प्लगइन_डिर_पथ (dirname (__FILE__))। ‘शामिल / वर्ग TGM-प्लगइन-activation.php’;

अवलोकन

क्या आप सभी फ़ाइल नामों और कार्यों से भ्रमित हैं? चिंता मत करो, आप इसे बहुत जल्दी प्राप्त करेंगे। वास्तव में, आप आमतौर पर केवल तीन फ़ाइलों को संशोधित करेंगे:

  • शामिल / वर्ग-मेरा-भयानक-plugin.php वह जगह है जहाँ आप अपने सभी हुक और निर्भरता जोड़ते हैं.
  • public / class-my-awesome-plugin-public.php वह जगह है जहाँ आप सभी सार्वजनिक सामना करने वाले कार्यों को जोड़ते हैं.
  • admin / class-my-awesome-plugin-admin.php वह जगह है जहां सभी एडमिन फेसिंग फंक्शन चलते हैं.

सबसे पहले, वर्डप्रेस प्लगइन बॉयलरप्लेट का उपयोग करना एक परेशानी की तरह लग सकता है, लेकिन यह अंत में भुगतान करेगा। आप एक साल बाद वापस आएंगे और जानेंगे कि सब कुछ कहां है, आपके प्लगइन विकास को उत्पादों में मानकीकृत किया जाएगा और अन्य डेवलपर्स यह पता लगाने में सक्षम होंगे कि क्या चल रहा है.

अंत में, यह मत भूलो कि एक साधारण विजेट प्रदान करने वाले प्लगइन को इस तरह के ढांचे की आवश्यकता नहीं हो सकती है। हालांकि वर्डप्रेस प्लगइन बॉयलरप्लेट का उपयोग आपके प्लगइन को धीमा कर देता है, यह दृश्य को रोक देता है यदि आपको ज़रूरत है तो कोड की कुछ सरल रेखाएं हैं!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Это интересно
    Adblock
    detector