खोज…


परिचय

वर्डप्रेस रीस्ट एपीआई वर्डप्रेस डेटा प्रकारों के लिए एपीआई एंडपॉइंट प्रदान करता है जो डेवलपर्स को JSON (जावास्क्रिप्ट ऑब्जेक्ट नोटेशन) ऑब्जेक्ट भेजने और प्राप्त करने के लिए दूरस्थ रूप से साइटों के साथ बातचीत करने की अनुमति देता है।

जब आप सामग्री भेजते हैं या एपीआई के लिए अनुरोध करते हैं, तो प्रतिक्रिया JSON में वापस आ जाएगी। यह डेवलपर्स को क्लाइंट-साइड जावास्क्रिप्ट या बाहरी अनुप्रयोगों से वर्डप्रेस सामग्री को बनाने, पढ़ने और अपडेट करने में सक्षम बनाता है, यहां तक कि PHP से परे भाषाओं में लिखे गए।

टिप्पणियों

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

  1. रूट / एंडपॉइंट - जो कि "एंडपॉइंट" के रूप में ज्ञात मार्गों के लिए व्यक्तिगत HTTP विधियों के मैपिंग हैं - आप इसे register_rest_route () फ़ंक्शन का उपयोग करके करते हैं , और यहां आप रूट और एंडपॉइंट के बारे में अधिक जानकारी प्राप्त कर सकते हैं।

  2. अनुरोध - वर्डप्रेस WP_REST_Request एपीआई WP_REST_Request वर्ग को परिभाषित करता है जो वर्तमान अनुरोध के लिए जानकारी संग्रहीत और पुनर्प्राप्त करने के लिए उपयोग किया जाता है। जब भी आप एक पंजीकृत मार्ग पर HTTP अनुरोध करते हैं, तो WP_REST_Request ऑब्जेक्ट आपके लिए स्वचालित रूप से उत्पन्न हो जाते हैं। अनुरोध में निर्दिष्ट डेटा यह निर्धारित करेगा कि आपको एपीआई से क्या प्रतिक्रिया मिलती है। यहां WP_REST_Request वर्ग के बारे में अधिक जान सकते हैं।

  3. जबाब - वो डेटा है जो आपको एपीआई से वापस मिलता है। WP_REST_Response एंडपॉइंट द्वारा लौटाए गए प्रतिक्रिया डेटा के साथ सहभागिता करने का एक तरीका प्रदान करता है। अपने समापन बिंदु परिभाषा में आप अपने इंटरैक्शन की सेवा के लिए कॉलबैक (प्रतिक्रिया) फ़ंक्शन का नाम देते हैं। यहां WP_REST_Response वर्ग के बारे में अधिक जान सकते हैं।

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

  5. नियंत्रक कक्षाएं - वे एक ही स्थान पर सभी तत्वों को एक साथ लाते हैं। एक नियंत्रक वर्ग के साथ आप मार्गों और समापन बिंदुओं के पंजीकरण का प्रबंधन कर सकते हैं, अनुरोधों को संभाल सकते हैं, स्कीमा का उपयोग कर सकते हैं और एपीआई प्रतिक्रियाएं उत्पन्न कर सकते हैं। आपने पहले ही दो नियंत्रक कक्षाओं के बारे में जान लिया है: WP_REST_Request और WP_REST_Response । यहां आप कंट्रोलर क्लासेस के बारे में अधिक जान सकते हैं

नोट: इस जानकारी में से कुछ आधिकारिक Wordpress REST APi हैंडबुक से ली गई है

पूरा काम करने का उदाहरण

add_action('rest_api_init', 'my_rest_validate_endpoint' );
function my_rest_validate_endpoint() {

    // Declare our namespace
    $namespace = 'myrest/v1';

    // Register the route
    // Example URL matching this route:
    // http://yourdomain/wp-json/myrest/v1/guides/tag=europe/price=29
    register_rest_route($namespace,
                        // Using regular expressions we can initially validate the input
                        '/guides/tag=(?P<tag>[a-zA-Z0-9-]+)/price=(?P<price>[0-9]+)',
                        // We can have multiple endpoints for one route
                        array(
                            array(
                                'methods'   => 'GET',
                                'callback'  => 'my_get_guides_handler'
                            )
                        ),
                        // We can register our schema callback
                        // 'schema' => 'my_get_guide_schema',
                
        );

    // You can register another route here the same way

}


// The callback handler for the endpoint
function my_get_guides_handler(WP_REST_Request $request) {

    // Get the parameters:
    $tag = $request->get_param('tag');
    $price = $request->get_param('price');

    // Do something with the parameters
    // for instance: get matching guides from the DB into an array - $results
    // ...
    
    // Prepare the response
    $message = "We've found " . count($results) . " guides ";
    $message .= "(searching for a tag: " . $tag . ", with a price tag: " . $price . ")";

    // The response gets automatically converted into a JSON format
    return new WP_REST_Response(
        array(
            'results' => $results,
            'message' => $message,
            'status' => 'OK'
        ),
        200 );

}


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow