विज्ञापन
कई ब्लॉगर्स सही वर्डप्रेस विजेट के लिए उच्च और निम्न खोज करेंगे जो वास्तव में वही करेंगे वे चाहते हैं, लेकिन एक छोटे से प्रोग्रामिंग अनुभव के साथ आपको अपना कस्टम लिखना आसान हो सकता है विजेट।
इस सप्ताह मैं यह दिखाना चाहता हूं कि वास्तव में यह कैसे करना है, और जिस विजेट को हम लिख रहे हैं वह एक सरल है जो आपके एकल यादृच्छिक पोस्ट को चुनता है साइट, चित्रित छवि को खींचती है, और इसे साइडबार पर प्रदर्शित करती है - एक विज़ुअल "इस बात की जांच करें" विजेट जो उपयोगकर्ताओं को आपकी सामग्री को खोजने में मदद करेगा साइट।
यह एक निरंतर श्रृंखला का विस्तार भी है जिसमें मैं आपको दिखाता हूं कि यह कितना आसान है अपने WordPress टेम्पलेट को अनुकूलित करें 2 नए कूल वर्डप्रेस प्लगइन्स और वर्डप्रेस थीम संरचना को समझनाइस सप्ताह मैं प्रायः ऑल-इन-वन एसईओ के एक बेहतर विकल्प पर एक नज़र डालूंगा; एक प्लगइन जो आपको एक Wordpress प्रकाशन प्रणाली की शक्ति देता है लेकिन आपको आउटपुट करने की अनुमति देता है ... अधिक पढ़ें .
आपको यह जानकर भी खुशी हो सकती है कि हमने एक नया जोड़ा है वर्डप्रेस ट्यूटोरियल श्रेणी MakeUseOf के लिए, ताकि दुनिया के पसंदीदा ब्लॉगिंग प्लेटफ़ॉर्म पर अद्यतित सुझावों और मार्गदर्शिकाओं के बढ़ते संग्रह के लिए इसे देखना सुनिश्चित करें।
मुख्य अवधारणाएँ: वर्डप्रेस क्वेरी और लूप
आपके ब्लॉग के प्रत्येक पृष्ठ में आपके पोस्ट के डेटाबेस में एक क्वेरी होती है। आपके द्वारा देखे जा रहे पृष्ठ के आधार पर, क्वेरी बदल जाएगी। उदाहरण के लिए आपका ब्लॉग मुखपृष्ठ, क्वेरी का उपयोग कर सकता है ”नवीनतम 10 ब्लॉग पोस्ट प्राप्त करें“. जब आप श्रेणी अभिलेखागार देखते हैं, तो क्वेरी बदल सकती है "श्रेणी परिवार की तस्वीरों के लिए नवीनतम 20 पोस्ट प्राप्त करें, प्रकाशित तिथि तक परिणाम ऑर्डर करें“. प्रत्येक क्वेरी परिणामों का एक सेट लौटाएगी, और उपयोग किए जा रहे पृष्ठ टेम्पलेट के आधार पर, प्रत्येक परिणाम टेम्पलेट के मुख्य "लूप" के माध्यम से चलाया जाएगा।
वास्तव में प्रत्येक पृष्ठ में एक से अधिक क्वेरी शामिल हो सकती हैं, और आप अपने टेम्पलेट में विभिन्न स्थानों पर कार्यक्षमता जोड़ने के लिए अपने प्रश्न भी बना सकते हैं। आप इस उदाहरण का उपयोग इस लेख के नीचे देख सकते हैं - हमारे पास कुछ अतिरिक्त प्रश्न हैं जो चलते हैं प्रत्येक पृष्ठ जिसका उद्देश्य आपको संबंधित लेख दिखाना है जिसमें आपकी रुचि हो सकती है, या ऐसे लेख जो इसे ट्रेंड कर रहे हैं सप्ताह।
हालांकि हमारे कस्टम विजेट को बनाने के लिए, हमें बस एक अतिरिक्त क्वेरी बनाने की आवश्यकता होगी जो X संख्या में यादृच्छिक पोस्टों और उनकी छवियों को पकड़ लेती है, और उन्हें साइडबार पर किसी तरह प्रदर्शित करती है। मैंने आपको पिछले हफ्ते ही कोड दिखाया था चित्रित छवि को पकड़ो वर्डप्रेस के साथ अपने ब्लॉग को सेट करें: अंतिम गाइडअपना खुद का ब्लॉग शुरू करना चाहते हैं लेकिन पता नहीं कैसे? वर्डप्रेस पर देखें, आज उपलब्ध सबसे शक्तिशाली ब्लॉगिंग प्लेटफ़ॉर्म। अधिक पढ़ें , इसलिए हमें वास्तव में एक नया वर्डप्रेस विजेट बनाने और इसे साइडबार पर रखने का तरीका जानने की जरूरत है।
मूल विजेट कोड
अपने में एक नई .php फ़ाइल बनाकर प्रारंभ करें WP-सामग्री / plugins निर्देशिका। आप ट्यूटोरियल ऑफ़लाइन का अनुसरण भी कर सकते हैं, फिर इसे वर्डप्रेस इंटरफ़ेस का उपयोग करके अपलोड कर सकते हैं, लेकिन मुझे यह लिखना आसान लगता है क्योंकि हम उस मामले में साथ चलते हैं जब आपको डिबग करने की आवश्यकता होती है। आपको जो भी पसंद है, अपनी फ़ाइल को कॉल करें, लेकिन मैं साथ जा रहा हूं यादृच्छिक पोस्ट-widget.php
फ़ाइल में निम्न पेस्ट करें और सहेजें। इसमें मेरे नाम के साथ शीर्ष पर अनुभाग को बदलने के लिए स्वतंत्र महसूस करें, लेकिन बाकी कोड अभी तक समायोजित न करें। यह मूल रूप से एक कंकाल खाली विजेट है, और आप कह सकते हैं कि यह कहाँ है // विदित कोड यहाँ जाता है बाद में हम अपनी कार्यक्षमता जोड़ देंगे।
php। /* प्लगइन का नाम: रैंडम पोस्ट विजेट। प्लगइन यूआरआई: http://jamesbruce.me/ विवरण: रैंडम पोस्ट विजेट एक यादृच्छिक पोस्ट और संबंधित थंबनेल को आपके साइडबार पर प्रदर्शित करने के लिए पकड़ लेता है। लेखक: जेम्स ब्रूस संस्करण 1। लेखक यूआरआई: http://jamesbruce.me/ * * श्रेणी RandomPostWidget WP_Widget का विस्तार करता है। {function randomPostWidget () {$ widget_ops = array ('classname' => 'randomPostWidget', 'description' => 'थंबनेल के साथ एक यादृच्छिक पोस्ट प्रदर्शित करता है'); $ यह-> WP_Widget ('RandomPostWidget', 'रैंडम पोस्ट और थंबनेल', $ widget_ops); } फ़ंक्शन फॉर्म ($ उदाहरण) {$ इंस्टेंस = wp_parse_args ((सरणी) $ इंस्टेंस, सरणी ('शीर्षक' => '')); $ शीर्षक = $ उदाहरण ['शीर्षक'];php} फ़ंक्शन अपडेट ($ new_instance, $ old_instance) {$ इंस्टेंस = $ old_instance; $ उदाहरण ['शीर्षक'] = $ new_instance ['शीर्षक']; $ उदाहरण वापस करें; } फ़ंक्शन विजेट ($ args, $ उदाहरण) {extract ($ args, EXTR_SKIP); गूंज $ पहले_गेट; $ शीर्षक = खाली ($ उदाहरण ['शीर्षक'])? '': apply_filters ('widget_title', $ उदाहरण ['शीर्षक']); अगर (खाली ($ शीर्षक)) $ $ पहले _title। $ शीर्षक। $ After_title;; // WIDGET CODE GOES HERE इको " यह मेरा नया विजेट है! H1>"; इको $ after_widget; } } add_action ('widgets_init', create_function ('', 'register_widget ("RandomPostWidget");)));
जैसा कि यह है, प्लगइन शब्दों के साथ एक बड़े शीर्षक को प्रिंट करने के अलावा बहुत कुछ नहीं करता है "यह मेरा नया विजेट है!“.
हालांकि यह आपको शीर्षक बदलने का विकल्प देता है, जो किसी भी विजेट के लिए आवश्यक है। अन्य विकल्पों में जोड़ना आज इस लेख के दायरे से परे है, इसलिए अब इसे वास्तविक उद्देश्य देने के लिए आगे बढ़ें।
एक नई क्वेरी और लूप
अपने ब्लॉग डेटाबेस में एक नई क्वेरी बनाने के लिए, आपको इसका उपयोग करने की आवश्यकता है query_posts () कुछ मापदंडों के साथ कार्य करें, फिर थोड़ी देर लूप का उपयोग करके आउटपुट के माध्यम से चलाएं। आइए इसे आज़माएं - प्रदर्शित करने के लिए एक बहुत ही बुनियादी क्वेरी और लूप। उस कोड की पंक्ति को बदलें जो कहती है:
निम्नलिखित के साथ:
// विदित कोड यहाँ जाता है। query_posts ( ''); if (has_posts ()): जबकि (has_posts ()): the_post (); शीर्षक(); endwhile; अगर अंत; wp_reset_query ();
यह डिफ़ॉल्ट विकल्प और आउटपुट के शून्य स्वरूपण का उपयोग करके एक बिल्कुल बुनियादी क्वेरी है। यह निर्भर करता है कि आपका ब्लॉग कैसे सेट किया गया है, डिफ़ॉल्ट रूप से 10 नवीनतम पदों को हथियाने की संभावना होगी - फिर उपरोक्त सभी कोड प्रत्येक पोस्ट के शीर्षक को आउटपुट करने के लिए है। यह बहुत बदसूरत है, लेकिन यह काम करता है:
हम इसे केवल आउटपुट के साथ कुछ HTML स्वरूपण जोड़कर थोड़ा बेहतर बना सकते हैं ECHO कमांड, और पोस्ट का उपयोग करके लिंक बनाना get_the_permalink () समारोह:
query_posts ( ''); अगर (है_पोस्ट ()): इको "
- “; जबकि (है_पोस्ट्स ()): the_post (); गूंज ”
- ".Get_the_title ()।"
“; endwhile; गूंज ”
“; अगर अंत; wp_reset_query ();
पहले से, यह बहुत बेहतर लग रहा है। लेकिन हम केवल एक पोस्ट चाहते हैं, यादृच्छिक पर उठाया। ऐसा करने के लिए, हम क्वेरी में कुछ पैरामीटर निर्दिष्ट करते हैं:
query_posts ( 'posts_per_page = 1 & orderBy = रैंड');
बेशक, आप इसे किसी भी पोस्ट में बदल सकते हैं - वास्तव में, वहाँ है अतिरिक्त बिट्स की पूरी श्रृंखला आप क्वेरी में पास कर सकते हैं परिणामों के क्रम को प्रतिबंधित, विस्तारित या परिवर्तित करने के लिए, लेकिन अभी के लिए उसी के साथ रहें। यदि आप रीफ़्रेश करते हैं, तो आपको केवल एक पोस्ट देखनी चाहिए जो आपके द्वारा रीफ़्रेश किए जाने पर हर बार रेंडमाइज़ की जाती है।
अब फ़ीचर्ड थंबनेल के लिए। इस कोड को इसके साथ बदलें, उम्मीद है कि आप देख सकते हैं कि हम थंबनेल को कहां पकड़ रहे हैं और इसे प्रदर्शित कर रहे हैं:
query_posts ( 'posts_per_page = 1 & orderBy = रैंड'); अगर (है_पोस्ट ()): इको "
- “; जबकि (है_पोस्ट्स ()): the_post (); गूंज ”
- ".Get_the_title (); echo the_post_thumbnail (सरणी (220,200)); गूंज ”
“; endwhile; गूंज ”
“; अगर अंत; wp_reset_query ();
आप तैयार परिणामों को फिर से मेरे विकास ब्लॉग पर आत्मनिर्भरता गाइड पर देख सकते हैं, हालांकि जब आप इसे पढ़ते हैं, तो मैं चीजों को स्थानांतरित कर सकता हूं।
निष्कर्ष:
देखें कि अपने स्वयं के कस्टम विजेट बनाना कितना आसान है, जो आप चाहते हैं वही कर सकते हैं? यहां तक कि अगर आप आज दिखाए गए कोड का 90% भी नहीं समझते हैं, तो भी आपको केवल कुछ परिवर्तनशील चर या अलग-अलग HTML आउटपुट करके इसे कुछ हद तक अनुकूलित करने में सक्षम होना चाहिए। हमने आज एक संपूर्ण विजेट लिखा है, लेकिन आप आसानी से अपने किसी भी पेज टेम्प्लेट पर सिर्फ नए क्वेरी और लूप कोड का उपयोग कर सकते हैं।
जेम्स के पास आर्टिफिशियल इंटेलिजेंस में बीएससी है, और कॉम्पिटिया ए + और नेटवर्क + प्रमाणित है। वह MakeUseOf के प्रमुख डेवलपर हैं, और अपना खाली समय वीआर पेंटबॉल और बोर्डगेम खेलने में बिताते हैं। वह पीसी का निर्माण कर रहा है क्योंकि वह एक बच्चा था।