Wordpress'te MySite nasıl oluşturulur
Lütfen birisi bunu nasıl hata yapacağımı ve ne yapacağımı anlamama yardım edebilir mi?
Kısacası
Oembed sağlayıcı oluşturdum ve bunu wordpress'e ekledim. Wordpress'in yanıt olarak doğru json'u aldığını görüyorum. Ancak sağlanan url'de resim için başka bir istek yoktur.
Tüm bildiğim
Yani temelde bir wordpress sitem var ve bir gönderi yazarken başka bir sitemden bir resim eklemek istiyorum.
Ekledim
wp_oembed_add_provider( 'https://dynamicallyLoadedSPA.com/*', 'https://laravelBackend.com/oembed/', false );
function.php'de (wordpress sitesinde) işlev. Ve bundan sonra, şimdi bir gönderi yazarken bir bağlantı yapıştırdığımda, yerleştirme işlemi gerçekleşiyor, ancak hala resim veya hiçbir şey yok. Bunu nasıl düzelteceğimi bilmiyorum.
Nginx günlüklerimde görüyorum,
/oembed/?maxwidth=1060&maxheight=1000&url=https://dynamicallyLoadedSPA.com/some-link-with-picture-and-description&dnt=1&format=json
o wordpress bu uç noktaya bir istekte bulundu.
tarayıcıda aynı isteği yaparsam, laravel arka ucum şunu döndürür:
{
"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'>"
}
Ancak woordpress bunu aldıktan sonra, gerçek resim için başka bir talep yoktur.
https://img.laravelBackend.com/goods/4289/Untitled-2-04.jpg
uç nokta.
Woordpress neden resim için bir talepte bulunmaz ve onu gönderi ve yazı editörü arayüzünde görüntülemiyor?
Woordpress "gutenberg" düzenleyicisine bir bağlantı yapıştırdığımda bir açıklamanın görünmesini bekliyorum.
ps. gutenberg düzenleyicisindeki görsel olarak düzenlenebilir bloğun html'sine baktığımda, bu oluşturulan html'dir (orada her şey yolunda görünüyor)
<figure class="wp-block-embed"><div class="wp-block-embed__wrapper">
https://dynamicallyLoadedSPA.com/sausages
</div></figure>
Yanıtlar
OEmbed uygulamanızın yanlış olduğunu düşünüyorum. Sen görebilirsiniz WP-oEmbed sınıfının WordPress dört tip değerlerini destekler: fotoğraf, video, bağlantı ve zengin; oysa type = image döndürüyorsunuz.
Gönderen Spec o WordPress listesinde tamamlandı ve 'image' genellikle desteklenmiyor gibi bölüm 2.3.4 görünüyor. Muhtemelen tür = fotoğraf demek istediniz, ancak bunlar genellikle bağlantılı değildir ve sağlamadığınız zorunlu yükseklik ve genişlik özelliklerine sahiptir.
Bence seçenekleriniz:
- oEmbed sağlayıcınızı bunun yerine bir type = rich döndürecek şekilde değiştirin ve oraya dahil edilecek HTML'yi oluşturun
- WordPress'i type = image'ı destekleyecek şekilde genişletin: oembed_dataparse filtresini uygulayın (yukarıda bağladığım fonksiyonun altından çağrılır), orada type = image'ı tespit edin ve döndürülen oEmbed verilerinden dahil etmek istediğiniz HTML'yi geri getirin.
Bununla birlikte, şansınız, Gutenberg'i de yeni türle çalışmak için genişletmeniz gerekecek ve bunu nasıl yapacağımdan emin değilim.