वर्डप्रेस में बाहरी एपीआई का उपभोग?


9

मेरे पास एक क्लाइंट है जिसके पास एक वर्डप्रेस वेबसाइट है, और वह नई कार्यक्षमता जोड़ने के लिए इसे विस्तारित करना चाहता है। ये फ़ंक्शंस एक वेबसाइट में शामिल हैं जो मैंने पहले ही किया है (एक डेटाबेस का एक प्रकार का खोज इंजन, कुछ फिल्टर के साथ), और जो नए संवर्द्धन के तहत है।

जो मैं करने की योजना बना रहा हूं वह मेरी वेबसाइट के json एपीआई (मेरे डेटाबेस पर सभी खोज funtion के साथ) बनाने के लिए है, और वर्डप्रेस वेबसाइट को इस एपीआई का उपभोग करना है, तो मुझे केवल खोज परिणाम दिखाने के लिए विचार बनाने होंगे।

समस्या यह है कि मैं वर्डप्रेस को बिल्कुल नहीं जानता (मेरे लिए यह कुछ ऐसा है जहां आप व्यवस्थापक पैनल के माध्यम से लेख जोड़ सकते हैं ...) और मुझे नहीं पता कि हम इसमें अपना सर्वर साइड कोड कैसे लिख सकते हैं। मैंने Google पर खोज की है और "प्लगइन" नामक कुछ पाया है, लेकिन मैं सोच रहा हूं कि क्या ऐसा करना संभव है, और अगर यह करने का सबसे सरल तरीका है क्योंकि मुझे किसी अन्य तीसरे द्वारा उपयोग किए जाने वाले कोड की आवश्यकता नहीं है पार्टी। यदि मेरी PHP फ़ाइलों को जोड़ने के लिए एक वर्डप्रेस इंस्टॉल को हैक करना संभव है, तो मुझे क्या चाहिए (उसी वर्डप्रेस सीएसएस के साथ मेरे विचार) कोड सरल होगा, लेकिन मुझे पता नहीं है कि क्या यह संभव है?


आप वास्तव में क्या करने की कोशिश कर रहे हैं, वर्डप्रेस में एक जूस फ़ीड पढ़ें, एक डेटाबेस में डेटा डालें, एक्सएमएल-आरपीसी के माध्यम से प्रकाशित करें, कोशिश करें और अधिक स्पष्ट हो।
व्येक

json फ़ीड पढ़ें। छूट के लिए, वर्डप्रेस साइट में एक खोज फ़ॉर्म होना चाहिए, जब सबमिशन करते समय, यह एक एपीआई को एक कॉल करेगा, एपीआई ऑब्जेक्ट्स को वापस लौटा देगा, और मुझे इन परिणामों को वर्डप्रेस साइट के एक पृष्ठ पर आउटपुट करना चाहिए
tirir

1
@ ताहिर मैं यही करने की कोशिश कर रहा हूं। क्या आप संभवतः अपना लक्ष्य पूरा करने में सक्षम होंगे?
SAHM

जवाबों:


9

वर्डप्रेस विकास पर एक छोटा प्राइमर जो आपकी मदद कर सकता है या आपको भ्रमित कर सकता है:

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

यदि आपको केवल किसी मौजूदा पृष्ठ पर कुछ जोड़ने की आवश्यकता है, तो यह सही थीम फ़ाइल को संपादित करने के लिए काम कर सकता है। हालाँकि, अगर आपको कुछ उन्नत करने की आवश्यकता है (और एक अतिरिक्त "दृश्य" जोड़ना, जैसे किसी विशिष्ट URL पर, वर्डप्रेस में अधिक उन्नत है), तो आपको उस जगह पर कोड जोड़ना होगा जो पहले वर्डप्रेस बूट प्रक्रिया में लोड किया जाएगा। ।

इसका कारण यह है कि वर्डप्रेस हमेशा URL के आधार पर आपके लिए एक पोस्ट क्वेरी करता है। यह आपके पास जाता है /category/banana/, यह श्रेणी के पदों के लिए क्वेरी करेगा bananaऔर सही टेम्प्लेट फ़ाइल को लोड करेगा जहां आपको केवल लूप ओवर करना होगा और उन्हें प्रदर्शित करना होगा। हालाँकि, यदि आप जाते हैं /custom-view/, तो वर्डप्रेस को शायद कोई पोस्ट नहीं मिलेगी और 404 टेम्पलेट लोड होगा - जिससे आपको पुनर्प्राप्त करने का कोई आसान तरीका नहीं मिलेगा!

कुछ लोग इसे "स्टब पेज" बनाकर हल करते हैं: वे वर्डप्रेस में एक पेज बनाते हैं जहां सामग्री महत्वपूर्ण नहीं है, केवल टेम्पलेट है: वहां वे जो भी फैंसी चीज करना चाहते हैं, करते हैं। यह हैकिश है, लेकिन यह काम करता है। साफ तरीका यह होगा कि अतिरिक्त रीराइट नियमों को परिभाषित किया जाए , ताकि वर्डप्रेस को पता चल सके कि /custom-view/यह एक वैध यूआरएल है, लेकिन यह कुछ और होना चाहिए।

यदि आप ऐसा करना चाहते हैं, तो आपको कोर वर्डप्रेस सिस्टम में हुक करने की आवश्यकता है। यहाँ महत्वपूर्ण हिस्सा हुक में है , संशोधित नहीं है । वर्डप्रेस में एक्शन और फिल्टर होते हैं । एक कार्रवाई सिर्फ एक घोषणा है ( "अरे, हम वर्तमान में <head>टैग लिख रहे हैं । क्या आप कुछ भी जोड़ना चाहते हैं?" )। एक फ़िल्टर आपको एक चर को संशोधित करने की अनुमति देता है ( "यह पोस्ट शीर्षक है। यदि आप इसे संशोधित करना चाहते हैं, तो एक नया मान लौटाएं" )। बेशक, चाल अब यह जानना है कि आपको किन कार्यों और फ़िल्टर का उपयोग करना चाहिए। यह आपके द्वारा चुने गए तरीके पर निर्भर करता है (स्टब पेज या नए रीराइट नियम), इसलिए मैं यहां विवरण में नहीं जाऊंगा।

आप उन कार्यों और फ़िल्टर को परिभाषित करते हैं, जिन्हें आप एक प्लगइन फ़ाइल में या अपने विषय के फ़ंक्शन फ़ाइल में उपयोग करना चाहते हैं । वे इसमें विशेष हैं कि वे लोड हो रहे हैं जबकि वर्डप्रेस बूट हो रहा है , इसलिए मुख्य क्वेरी निष्पादित होने से पहले और इसी तरह। एक प्लगइन फ़ाइल सिर्फ एक PHP फ़ाइल है, जिसे wp-content/plugins/निर्देशिका में रखा गया है , एक विशेष शीर्षक के साथ ताकि वर्डप्रेस अपना नाम पढ़ सके और उसे प्रशासन क्षेत्र में प्रदर्शित कर सके जहाँ आप इसे सक्षम और निष्क्रिय कर सकते हैं (इसलिए आप निर्देशिका में प्लगइन को छोड़ सकते हैं लेकिन अस्थायी रूप से इसे अक्षम करें)।


2

मूल बातें

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

JSON

आप "सुरक्षित" एपीआई प्रदान करने के लिए कोर में निर्मित json2 स्क्रिप्ट का उपयोग करना चाह सकते हैं ।

JSON उदाहरण

बाकी कुछ इस तरह होगा:

$response = json_encode( array( 
     'data' => $your_output 
) );
header( "Content-Type: application/json" );
echo $response;

एक्सएमएल आरपीसी

कोडेक्स में "एक्सएमएल आरपीसी" के बारे में भी कुछ है ।

Http एपीआई

एक अन्य संभावना http अनुरोध हो सकता है । सुनिश्चित करें कि आप लिंक के नीचे दिए गए संदर्भों को पढ़ते हैं।


Webhooks

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


1

मुझे लगता है कि आप PHP जानते हैं? या वह बाधा भी है?

वर्डप्रेस में अनिवार्य रूप से प्लगइन्स कन्वेंशन हैं कि PHP कोड को कैसे पैकेज किया जाए ताकि यह वर्डप्रेस कोर द्वारा पहचाना और संभाला जाए। यह कार्यक्षमता के बजाय प्रारूप है।

वास्तविक कार्यक्षमता के लिए आप बहुत अधिक मनमानी PHP चला सकते हैं, लेकिन संगतता और विश्वसनीयता के लिए WP के एपीआई का उपयोग करना अच्छा है।

WP के संदर्भ में अपने कोड के बारे में सोचें include(जो यह तकनीकी रूप से होगा)। वहां से यह आपकी आवश्यकताओं और संसाधनों का दायरा है जो यह निर्धारित करेगा कि यह वर्डप्रेस के लिए विशिष्ट होने के लिए कितना फिर से लिखा जाएगा।


0

हाँ यह संभव है।

अधिकांश प्लगइन्स को हुक के माध्यम से बनाया जाता है:

उदाहरण के लिए:

add_action("hook", "function")

अपने आप को एक प्लगइन बनाने में बहुत आसान है, एक बार जब आप जानते हैं कि यह कैसा है, अच्छी तरह से ... काम करता है ... मैं अपने आप को इसके साथ परिचित करने की सलाह दूंगा, ज्ञान के लिए सबसे व्यापक स्थान (यद्यपि, सबसे संगठित नहीं - जैसे php। net) वर्डप्रेस कोडेक्स है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.