Wordpress'te MySite nasıl oluşturulur

Sep 30 2020

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

Rup Sep 30 2020 at 06:43

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.