Wordpress에 MySite를 포함하는 방법
누군가 이것을 디버그하는 방법과 무엇을 해야할지 이해하도록 도와 주시겠습니까?
간단히 말해서
oembed 공급자를 생성하여 워드 프레스에 추가했습니다. 나는 wordpress가 올바른 json에 대한 응답을 얻었습니다. 그러나 제공된 URL에서 사진에 대한 추가 요청이 없습니다.
내가 아는 모든 것
그래서 기본적으로 워드 프레스 사이트가 있고 게시물을 작성하는 동안 다른 사이트의 사진을 삽입하고 싶습니다.
나는 추가했다
wp_oembed_add_provider( 'https://dynamicallyLoadedSPA.com/*', 'https://laravelBackend.com/oembed/', false );
functions.php의 함수 (wordpress 사이트에서). 그 후 게시물을 작성하는 동안 링크를 붙여 넣으면 임베딩 프로세스가 발생하지만 여전히 그림이나 아무것도 없습니다. 나는 이것을 디버그하는 방법을 모른다.
내 nginx 로그에서 볼 수 있습니다.
/oembed/?maxwidth=1060&maxheight=1000&url=https://dynamicallyLoadedSPA.com/some-link-with-picture-and-description&dnt=1&format=json
그 워드 프레스는 그 엔드 포인트에 요청을했습니다.
브라우저에서 동일한 요청을하면 내 laravel 백엔드가 반환됩니다.
{
"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
끝점.
woordpress가 사진을 요청하고 게시물 및 게시물 편집기 UI에 표시하지 않는 이유는 무엇입니까?
woordpress "gutenberg"편집기에 링크를 붙여 넣을 때 설명이있는 그림이 나타날 것으로 예상합니다.
추신. 구텐베르크 편집기에서 시각적으로 편집 가능한 블록의 html을 보면 이것은 생성 된 html입니다 (모든 것이 순서대로되어있는 것 같습니다).
<figure class="wp-block-embed"><div class="wp-block-embed__wrapper">
https://dynamicallyLoadedSPA.com/sausages
</div></figure>
답변
oEmbed 구현이 잘못되었다고 생각합니다. WP-oEmbed 클래스 에서 WordPress가 사진, 비디오, 링크 및 리치의 네 가지 유형 값을 지원한다는 것을 알 수 있습니다 . type = image를 반환하는 반면.
에서 사양 이 워드 프레스의 목록이 완료되고 '이미지'일반적으로 지원되지 않습니다처럼 섹션 2.3.4 같습니다. type = photo를 의미했을 수도 있지만 일반적으로 연결되어 있지 않으며 제공하지 않는 필수 높이 및 너비 속성이 있습니다.
따라서 귀하의 옵션은 다음과 같습니다.
- 대신 type = rich를 반환하도록 oEmbed 공급자를 변경하고 여기에 포함 할 HTML을 생성합니다.
- type = image를 지원하도록 WordPress 확장 : oembed_dataparse 필터 (위에서 링크 한 함수의 하단에서 호출)를 구현하고 type = image를 감지하고 반환 된 oEmbed 데이터에서 포함 할 HTML 생성을 반환합니다.
그러나 새로운 유형으로 작업하도록 구텐베르크를 확장해야 할 가능성이 있으며 어떻게해야할지 모르겠습니다.