कैसे Wordpress में MySite oEmbed करने के लिए

Sep 30 2020

क्या कोई मुझे यह समझने में मदद कर सकता है कि यह कैसे डिबग करें और क्या करें?

संक्षेप में

मैंने एक oembed प्रदाता बनाया और इसे वर्डप्रेस में जोड़ा। मुझे लगता है कि सही json के जवाब में वर्डप्रेस मिला। लेकिन प्रदान किए गए यूआरएल पर तस्वीर के लिए आगे कोई अनुरोध नहीं है।

जो कुछ मुझे पता है

तो मूल रूप से मेरे पास एक वर्डप्रेस साइट है और मैं पोस्ट लिखते समय मेरी एक अन्य साइट से एक तस्वीर एम्बेड करना चाहता हूं।

मैंने जोड़ा

wp_oembed_add_provider( 'https://dynamicallyLoadedSPA.com/*', 'https://laravelBackend.com/oembed/', false );

function.php (wordpress साइट में) में कार्य करता है। और उसके बाद, अब जब मैं पोस्ट लिखते समय एक लिंक पेस्ट करता हूं तो एम्बेडिंग प्रक्रिया होती है, लेकिन फिर भी कोई तस्वीर या कुछ भी नहीं। मैं नहीं जानता कि यह कैसे डीबग करना है।

मैं अपने nginx लॉग में देखता हूं,

/oembed/?maxwidth=1060&maxheight=1000&url=https://dynamicallyLoadedSPA.com/some-link-with-picture-and-description&dnt=1&format=json

उस Wordpress ने उस समापन बिंदु के लिए एक अनुरोध किया था।

यदि मैं ब्राउज़र में वही अनुरोध करता हूं जो मेरे लार्वा बैकएंड में रिटर्न देता है:

{
    "title": "Sausages",
    "description": "expiration date: 2020.10.01, 10euro",
    "url": "https://dynamicallyLoadedSPA.com/sausages",
    "type": "image",
    "tags": "food",
    "image": "https://img.laravelBackend.com/goods/4289/Untitled-2-04.jpg",
    "code": "<img src='https://img.laravelBackend.com/goods/4289/Untitled-2-04.jpg'>"
}

लेकिन woordpress के प्राप्त होने के बाद वास्तविक चित्र के लिए आगे कोई अनुरोध नहीं है

https://img.laravelBackend.com/goods/4289/Untitled-2-04.jpg

समापन बिंदु।

तस्वीर के लिए अनुरोध करने और पोस्ट और पोस्ट संपादक UI में प्रदर्शित करने के लिए woordpress क्यों नहीं है?

जब मैं woordpress "गुटेनबर्ग" संपादक में एक लिंक पेस्ट करता हूं, तो मैं एक विवरण के साथ एक तस्वीर की उम्मीद कर रहा हूं।

पी एस। जब मैं gutenberg संपादक में नेत्रहीन संपादन ब्लॉक के HTML को देखता हूं, तो यह उत्पन्न html (सब कुछ वहां क्रम में लगता है) है

<figure class="wp-block-embed"><div class="wp-block-embed__wrapper">
https://dynamicallyLoadedSPA.com/sausages
</div></figure>

जवाब

Rup Sep 30 2020 at 06:43

मुझे लगता है कि आपका oEmbed कार्यान्वयन गलत है। आप WP-oEmbed वर्ग में देख सकते हैं कि वर्डप्रेस चार प्रकार के मूल्यों का समर्थन करता है: फोटो, वीडियो, लिंक और रिच; जब आप टाइप = छवि वापस कर रहे हैं।

से कल्पना खंड 2.3.4 ऐसा लगता है कि यह है कि वर्डप्रेस की सूची पूरा हो गया है और 'छवि' आम तौर पर समर्थित नहीं है है। आप संभवतः टाइप = फोटो का मतलब है, लेकिन वे आम तौर पर जुड़े नहीं हैं और अनिवार्य ऊंचाई और चौड़ाई गुण हैं जो आप आपूर्ति नहीं कर रहे हैं।

इसलिए मुझे लगता है कि आपके विकल्प हैं:

  • बदले में समृद्ध = टाइप करने के लिए अपने oEmbed प्रदाता को बदलें, और वहां शामिल करने के लिए HTML उत्पन्न करें
  • समर्थन प्रकार = छवि के लिए वर्डप्रेस का विस्तार करें: oembed_dataparse फ़िल्टर लागू करें (ऊपर दिए गए फ़ंक्शन के निचले भाग से कहा जाता है), टाइप = छवि का पता लगाएं और वहां उत्पन्न जेनरेट करें जिसे आप ओमेबेड डेटा से वापस लौटना चाहते हैं।
    हालांकि संभावना है कि आपको नए प्रकार के साथ भी काम करने के लिए गुटेनबर्ग का विस्तार करना होगा, और मुझे यकीन नहीं है कि यह कैसे करना है।