Advertisement
  1. Code
  2. Plugins

मल्टीप्ल पैरामीटर के साथ लिस्ट पोस्ट में एक शॉर्टकोड बनाएँ

by
Difficulty:IntermediateLength:MediumLanguages:

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

मेरे द्वारा बनायी गयी कई क्लाइंट साइटों पर, मुझे लगता है कि ऐसा समय आता हैं जब मुझे किसी पेज पर पोस्ट लिस्टिंग शामिल करने की आवश्यकता होती है। मैं यहां आर्काइव पेजेज के बारे में बात नहीं कर रहा हूं, लेकिन मौजूदा स्टैटिक पेज पर एक कस्टम लिस्टिंग जोड़ रहा हूं।

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

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

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


आपको इस ट्यूटोरियल को पूरा करने के लिए किस चीज की ज़रूरत है

आपको निम्नलिखित रिसोर्सेज की आवश्यकता होगी:

  • WordPress की एक डेवलपमेंट इंस्टालेशन
  • अपने प्लगइन्स फ़ोल्डर तक एक्सेस ताकि आप शॉर्टकोड प्लगइन बना और अपलोड कर सकें

कोड डाउनलोड में इस प्लगइन को बनाने के लिए आपको सभी कोड मिलेंगे।


प्रारंभ करना: कंटेंट बनाना

शॉर्टकोड को सेटअप करने से पहले, आपको एक कस्टम पोस्ट टाइप और दो कस्टम टैक्सोनोमी रजिस्टर करने होंगे, जिसे हम शॉर्टकोड का परीक्षण करने के लिए उपयोग करेंगे।

ऐसा करने के लिए कोड प्लगइन में ही शामिल है जो मैंने शोरकॉड के लिए लिखा है, हालांकि एक लाइव प्रोजेक्ट पर, मैं इसे शॉर्टकोड प्लगइन से अलग करने को रेकमेंड करता हूं।

अपने प्लगइन्स फ़ोल्डर में एक नई फ़ाइल बनाएं और इसे post-listing-shortcode.php कॉल करें।

फ़ाइल में नीचे कोड जोड़ें।

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

यह प्लगइन के बारे में WordPress को बताता है और कस्टम पोस्ट टाइप 'clothes' और दो टैक्सोनोमी, 'color' और 'fabric' को रजिस्टर करता है।

इस प्लगइन को सेव करें और WordPress में प्लगइन्स पेज के माध्यम से इसे एक्टिव करें।

अब आपके पास अपना कस्टम पोस्ट टाइप और टैक्सोनोमी है, इनका उपयोग करके कुछ पोस्ट बनाएं। नीचे दिए गए स्क्रीनशॉट में आप जो मैंने कंटेंट बनाया है उसे देख सकते हैं:

post-listing-shortcode-content-created

एक सिंपल लिस्टिंग शॉर्टकोड बनाना

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

अपनी प्लगइन फ़ाइल को फिर से खोलें और निम्न जोड़ें:

यह आपके कंटेंट पर एक कस्टम क्वेरी चलाने के लिए WP_Query का उपयोग करके एक सिंपल शॉर्टकोड बनाता है और परिणामों को एक लिस्ट में आउटपुट करता है। जब मैं किसी पेज में [list-posts-basic] टाइप करता हूं तो परिणाम इस स्क्रीनशॉट में दिखाए अनुसार होते हैं:

post-listing-shortcode-shortcode1-results

क्वेरी को मॉडिफाई करने के लिए कुछ पैरामीटर्स जोड़ना

यह शॉर्टकोड और भी अधिक उपयोगी होगा यदि यूजर अपने स्वयं के पैरामीटर जोड़ सकें, इन उदाहरण में से चुनें:

  • लिस्ट में कितने पोस्ट हैं
  • क्वेरी के लिए कौन सा पोस्ट टाइप
  • शामिल करने के लिए कैटेगरीज
  • फैब्रिक और कलर जिन्हे शामिल करना है
  • पैरामीटर को आर्डर करना

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

एक बार फिर अपनी प्लगइन फ़ाइल में और पहले शॉर्टकोड के लिए कोड के नीचे, निम्न को जोड़ें:

नोट: ob_start() और ob_get_clean() का उपयोग यह सुनिश्चित करता है कि लूप आपके पेज में उस स्थान पर आउटपुट करे या पोस्ट करें जिसमें आपने शॉर्टकोड जोड़ा है। यदि आप इन्हें नहीं जोड़ते हैं, तो लिस्ट कंटेंट के टॉप पर प्रदर्शित की जाएगी।

डिफ़ॉल्ट रूप से यह सभी पोस्ट्स को तारिख के अवरोही (descending) क्रम में लिस्ट करता है, इसलिए यदि आप किसी पेज या पोस्ट में [list-posts] टाइप करते हैं, तो परिणाम इस स्क्रीनशॉट जैसा होता है:

post-listing-shortcode-shortcode2-results1

हालांकि, अगर आप कुछ पैरामीटर जोड़ते हैं तो चीजें अधिक दिलचस्प होती हैं। उदाहरण के लिए, काले रंग में आने वाले सभी कपड़ो को लिस्ट करना, मैं टाइप करता हूं [list-posts type="clothes" color="black" orderby="name" order="ASC"]:

post-listing-shortcode-shortcode2-results2

या 'smart' केटेगरी में सभी कपड़े लिस्ट करने के लिए मैं टाइप करता हूं [list-posts type="clothes" category="smart" orderby="name" order="ASC"]:

post-listing-shortcode-shortcode2-results3

यदि आपको आवश्यकता है तो आप अधिक ऐट्रिब्यूट्स को निर्दिष्ट कर सकते हैं, जिनके साथ यूजर काम कर सकते हैं, लेकिन आपको extract(shortcode_atts)) फ़ंक्शन में, अपने प्लगइन में उपलब्ध सभी ऐट्रिब्यूट्स को शामिल करना होगा।

आपको उन सभी के लिए डिफ़ॉल्ट निर्दिष्ट करने की आवश्यकता नहीं है - उदाहरण के लिए मैंने उदाहरण में खाली केटेगरी और टेक्सोनोमी पैरामीटर छोड़े हैं। पैरामीटर जिन्हें आप परिभाषित कर सकते हैं उनमें से कोई भी WP_Query के लिए निर्दिष्ट किया जा सकता है - पूर्ण लिस्ट के लिए, इसके Codex page को देखें।


सारांश

किसी पेज या पोस्ट में पोस्ट लिस्टिंग डालने में सक्षम होना बहुत उपयोगी हो सकता है। यह आपको अपनी टेम्पलेट फ़ाइलों को मॉडिफाई करने या कस्टम पेज टेम्पलेट लिखने के लिए सेव करता है।

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


रिसोर्सेज

उपरोक्त विषयों पर कुछ उपयोगी रिसोर्सेज:

Advertisement
Advertisement
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.