Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. WordPress
Code

WordPress एडमिन नोटिस परसिस्टेड: भाग 1

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called Persisted WordPress Admin Notices.
Persisted WordPress Admin Notices: Part 2

Hindi (हिंदी) translation by Ashish Rampal (you can also view the original English article)

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

WordPress कोर चार अलग-अलग एडमिन नोटिस प्रदान करता है जिनका उपयोग यूजर को एक विशिष्ट प्रकार की सूचना के लिए कंटेक्सटुअल्ली करने के लिए किया जा सकता है। यह प्रत्येक प्रकार के एडमिन नोटिस के लिए एक यूनिक एक्सेंट रंग प्रदर्शित करके हासिल किया जाता है।

मुख्य पेज कंटेंट से बाहर खड़े होने और स्पष्ट रूप से ध्यान देने योग्य होने के लिए एडमिन नोटिस आमतौर पर प्रत्येक एडमिन पेज के शीर्ष पर प्रदर्शित होते हैं। वे खूबसूरती से डिजाइन किए गए हैं ताकि बहुत दृष्टि को विचलित न करें।

WordPress core admin notice

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

WordPress admin notices in alternative location

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

भले ही आप किसी भी एडमिन नोटिस में एक डिसमिस बटन जोड़ सकते हैं, यह पेज को फिर से लोड होने पर इसे फिर से दिखने से नहीं रोकता है। साथ ही, एडमिन नोटिस प्रत्येक एडमिन पेज पर दिखाई देते हैं, जो कि आदर्श से बहुत दूर है।

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

हम क्या कवर करेंगे

हम शुरुआत से शुरू करेंगे और एक कस्टम प्लगइन के माध्यम से एडमिन नोटिस को लागू करने की मूल बातें तलाशेंगे, जिसमें उन्हें केवल WordPress एडमिन में विशिष्ट पेजेज पर प्रदर्शित करना शामिल है।

डिफ़ॉल्ट रूप से प्रत्येक पेज पर एडमिन नोटिस दिखाई देते हैं, आप जो चाहते हैं वह हमेशा नहीं होता है। उदाहरण के लिए, आप केवल प्लगइन ऑप्शन पेज पर एक अधिसूचना प्रदर्शित करना चाहते हैं। तो हमारे अगले पोर्ट को वर्तमान एडमिन स्क्रीन के आधार पर कंडिशनली एडमिन नोटिस प्रदर्शित करना होगा।

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

जैसा ऊपर बताया गया है, पेज लोड के बीच लगातार एडमिन नोटिस को डिसमिस करने का कोई आसान तरीका नहीं है। इसलिए ट्यूटोरियल श्रृंखला का शेष मुख्य रूप से विभिन्न तरीकों पर ध्यान केंद्रित करेगा जो आप एडमिन नोटिस को डिसमिस करने के लिए नियोजित कर सकते हैं ताकि वे अप्रत्याशित रूप से फिर से दिखाई नहीं दे सकें।

अंत में, थोड़ी मस्ती के लिए, हम देखेंगे कि आप अपने कस्टम एडमिन नोटिस टाइप्स कैसे बना सकते हैं और अतिरिक्त डेकोरेशन जैसे कि आपके एडमिन नोटिस में आइकन, जोड़ सकते हैं।

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

साथ में चलना चाहते हैं?

यदि आप प्रत्येक एडमिन नोटिस उदाहरण का निर्माण करते हैं, तो आप इस ट्यूटोरियल श्रृंखला से अधिक लाभ उठाएंगे। कोड को एक चरण-दर-चरण दृष्टिकोण में प्रस्तुत किया गया है ताकि आप ट्यूटोरियल के माध्यम से प्रगति कर सकें। हालांकि, अगर आप अपने सभी कोड को टाइप नहीं करना चाहते हैं, तो अंतिम प्लगइन भाग चार में डाउनलोड के लिए उपलब्ध होगा।

मैं यह मानता हूँ कि WordPress प्लगइन डेवलपमेंट के कम से कम एक प्राथमिक कार्य ज्ञान, जिसमें hook काम करते हैं की आपको जानकारी होगी। यदि नहीं, तो मैं जारी रखने से पहले आधिकारिक WordPress डॉक्यूमेंटेशन के माध्यम से इन विषयों पर पढ़ने की सिफारिश करता हूं:

प्रत्येक उदाहरण के लिए प्लगइन कोड का परीक्षण करने के लिए, आपको एक वर्किंग WordPress साइट की आवश्यकता होगी। ऐसा करने का सबसे आसान तरीका लोकल WordPress इनस्टॉल करना है ताकि आपके पास फ़ाइलों को एडिट करने में आसान पहुंच हो।

WordPress के साथ लोकल डेवलपमेंट के लिए कई चॉइसेस हैं, जिनमें निम्न शामिल हैं:

यदि आप WordPress डेवलपमेंट के लिए नए हैं तो लोकल या डेस्कटॉप सर्वर शायद सेट अप करना सबसे आसान हैं। लोकल उपयोग करने के लिए फ्री है (उनके पास काम के लिए प्रीमियम संस्करण है), और DesktopServer के पास एक सीमित (फ्री) संस्करण और एक प्रीमियम संस्करण उपलब्ध है।

इसके अलावा, PHP और जावास्क्रिप्ट के कुछ पिछले अनुभव की सिफारिश करता हूँ, जैसा कि AJAX रिक्वेस्ट्स को लागू करने का कुछ अनुभव हो। हालांकि, सबकुछ साथ में समझाया जाएगा, इसलिए गहन ज्ञान की आवश्यकता नहीं है।

एडमिन नोटिस पर एक करीब नजर

चलिए एक एडमिन नोटिस के सबसे बुनियादी कार्यान्वयन और सक्सेस टाइप नोटिस प्रस्तुत करने के लिए आवश्यक कोड पर नज़र डालें।

A Successful admin notice

हमने जो कुछ किया वह display_admin_notice() फ़ंक्शन को रजिस्टर करना था जो admin_notices hook चलने पर चलाया जाएगा। इससे कोई फर्क नहीं पड़ता कि रजिस्टर फ़ंक्शन क्या कहलाता है-इससे प्रभावित नहीं होगा कि एडमिन नोटिस कैसे प्रदान किया जाता है।

अभी खुद कोड एंटर करने के बारे में चिंता न करें; बस ध्यान दें कि एडमिन नोटिस कैसे उत्पन्न होता है क्योंकि हम बाद में ट्यूटोरियल में इस पर निर्माण करेंगे।

आप एक एडमिन नोटिस प्रदर्शित करने के लिए इच्छित किसी भी मार्कअप का उपयोग कर सकते हैं; हालांकि, रेकमेंडेड फॉर्मेट निम्नानुसार है:

{class} को CSS क्लास के नामों की सूची के साथ बदलें। एडमिन नोटिस के प्रकार को निर्धारित करने के लिए आपको क्लास notice और निम्न क्लासेज में से कोई भी शामिल करना चाहिए:

  • notice-error (लाल)
  • notice-warning (पीला / नारंगी)
  • notice-success (हरा)
  • notice-info (नीला)
The various admin notices

{message} ब्लॉक कोई टेक्स्ट या वैलिड HTML हो सकता है जो एडमिन नोटिस के अंदर प्रदर्शित किया जाएगा।

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

एक और बिल्ट-इन CSS क्लास है जिसे आप div.notice में जोड़ सकते हैं जो एडमिन नोटिस में एक डिसमिस बटन जोड़ता है। चलो देखते हैं कि क्या होता है जब उसी सक्सेस एडमिन नोटिस में is-dismissible क्लास को जोड़ दिया जाता है।

Our first admin notice

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

हम बाद में लगातार एडमिन नोटिस को विस्तार से कवर करेंगे और विभिन्न तरीकों की खोज करेंगे जिन्हें आप उन्हें बिना डिसमिस किये कर सकते हैं।

लेकिन एडमिन नोटिस खराब हैं! क्या वे नहीं हैं?

यदि आप WordPress में एडमिन नोटिस से परिचित हैं और/या सामान्य रूप से WordPress न्यूज के साथ रहते हैं तो आप कस्टम प्लगइन और थीम में एडमिन नोटिस का उपयोग करने के संबंध में नकारात्मकता की एक निश्चित मात्रा से अवगत हो सकते हैं।

यह उनके 'महत्वपूर्ण' संदेशों को पूरा करने के प्रयास में एडमिन नोटिस पर कुछ प्लगइन्स से उपेक्षा करता है। यदि आपके पास बहुत सारे प्लगइन्स इंस्टॉल हैं और उनमें से कुछ एडमिन नोटिस सिस्टम का दुरुपयोग करते हैं तो आप जल्दी से एडमिन नोटिस 'soup' के साथ समाप्त हो सकते हैं, जहां प्रत्येक एडमिन पेज के शीर्ष पर नोटिस का एक संपूर्ण उलझन प्रदर्शित होता है।

अनावश्यक नोटिस के साथ एडमिन स्क्रीन को ओवरलोड करना अराजकता (और सिरदर्द) का कारण बन सकता है और यूज़र्स के लिए समझ आने लायक परेशानी है क्योंकि यह साइट को और अधिक कठिन बनाता है।

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

साथ ही, एक सामान्य पसंदीदा एक गैर-महत्वपूर्ण एडमिन नोटिस प्रदर्शित करना है जिसे आसानी से स्थायी रूप से डिसमिस नहीं किया जा सकता है। मैं आपको गारंटी देता हूं कि ऐसा करने से आपके प्लगइन यूज़र्स को अलग करने का कोई आसान तरीका नहीं है!

हालांकि, कईं स्थितियां है जहाँ परसिस्टेंट नोटिस होते हैं जो डिसमिस नहीं हो पाते जैसे की डेटाबेस अपडेट। प्लगइन जो कस्टम टेबल का उपयोग करते हैं, प्लगइन को सही तरीके से चलने के लिए थोड़ी देर में डेटाबेस रूटीन्स अपडेट चलाने की आवश्यकता हो सकती है। इसलिए, इस मामले में, एक नॉन-डिसमिस एडमिन नोटिस जोड़ना उचित है।

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

निष्कर्ष

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

WordPress एक अविश्वसनीय रूप से सक्रिय इकॉनमी है। यहाँ थीम, प्लगइन्स, लाइब्रेरीज, और कई अन्य प्रोडक्ट्स हैं जो आपकी साइट और प्रोजेक्ट बनाने में आपकी सहायता करते हैं। प्लेटफॉर्म की ओपन-सोर्स प्रकृति भी यह एक शानदार विकल्प बनाती है जिससे आप अपने प्रोग्रामिंग कौशल को बेहतर बना सकते हैं। जो भी मामला है, आप देख सकते हैं कि हमारे पास Envato Market उपलब्ध है।

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

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.