> 웹 프론트엔드 > CSS 튜토리얼 > 백엔드의 WordPress 블록에서 외부 API 데이터 렌더링

백엔드의 WordPress 블록에서 외부 API 데이터 렌더링

Lisa Kudrow
풀어 주다: 2025-03-10 10:56:09
원래의
229명이 탐색했습니다.

Rendering External API Data in WordPress Blocks on the Back End 이 기사는 "WordPress 블록의 앞쪽 끝에 외부 API 데이터 렌더링"에 대한 이전 기사를 따릅니다. 이전 게시물에서는 외부 API를 얻는 방법을 배웠고 WordPress 웹 사이트의 프론트 엔드에서 검색된 데이터를 렌더링하는 블록과 통합합니다.

문제는 우리가 구현하는 방식으로 인해 WordPress 블록 편집기에서 데이터를 볼 수 없다는 것입니다. 다시 말해, 우리는 페이지에 블록을 삽입 할 수 있지만 미리보기를 볼 수는 없습니다. 블록은 출시 후에 만 ​​볼 수 있습니다.

이전 게시물에서 만든 샘플 블록 플러그인을 검토하겠습니다. 이번에는 WordPress의 JavaScript를 사용하고 생태계를 반응하여 백엔드 블록 편집기에서 데이터를 얻고 렌더링합니다.

WordPress 블록에서 외부 API를 사용하는

프론트 엔드 렌더링 데이터 ​​백엔드 렌더링 데이터 (현재 위치)

사용자 정의 설정을 만듭니다 사용자 지정 블록 설정 저장 실시간 API 데이터 사용 (곧 출시)

    이전 기사의 결과 시작하기 전에 이전 게시물에서 완료 한 데모가 있습니다. 참조 할 수 있습니다. 이전 게시물에서
  • 메소드를 사용하여 PHP 파일에서 속성을 사용하고 컨텐츠를 렌더링 할 수 있음을 알 수 있습니다.
  • 이것은 동적 블록을 만들기 위해 기본 워드 프레스 또는 PHP 함수를 사용해야하는 상황에 유용합니다. 그러나 WordPress의 JavaScript 및 React (특히 JSX) 생태계를 사용하여 정적 HTML과 데이터베이스에 저장된 속성을 렌더링하려면 블록 플러그인의 및
  • 기능에만 집중하면됩니다.
  • 편집 함수는 블록 편집기에서보고 싶은 내용을 기반으로 컨텐츠를 렌더링합니다. 여기에서 대화식 반응 구성 요소를 사용할 수 있습니다.
  • 저장
  • 함수는 프론트 엔드에서보고 싶은 내용을 기반으로 컨텐츠를 렌더링합니다. 여기서는 정기적 인 반응 구성 요소 나 후크를 사용할 수 없습니다. 데이터베이스 및 속성에 저장된 정적 HTML을 반환하는 데 사용됩니다.
  • 기능은 오늘날 우리의 토론의 초점입니다. 프론트 엔드에서 대화식 구성 요소를 만들 수 있지만이를 위해서는 이전 게시물에서와 같이 파일에 수동으로 포함하고 액세스해야합니다. 그래서 우리가 이전 게시물에서 한 것과 동일한 작업을 다룰 것입니다. 그러나 이번에는 프론트 엔드 에 게시하기 전에 블록 편집기에서 미리보기를 볼 수 있습니다.
  • 블록 속성 나는 기본 내용 (렌더링)을 산만하게하기 때문에 이전 게시물에서
함수 속성에 대한 설명을 의도적으로 생략했습니다.

반응 배경이 있으면 내가 말한 것을 이해할 수 있지만, 당신이 처음이라면, 반응 문서의 구성 요소와 속성을 확인하는 것이 좋습니다.

우리는 단지 함수가 필요하며, 코드의 attributes 객체에서 해체하겠습니다. 이전 게시물에서 API 데이터를 를 통해 저장할 수 있도록 RapidApi 코드를 수정했습니다. 는 읽기 전용이므로 직접 수정할 수 없습니다. setAttributes 블록 속성은 상태 변수와 비슷하고 React에서는 props가 유사하지만 React는 클라이언트에서 실행되는 반면 setAttributes()는 게시물을 저장 한 후 WordPress 데이터베이스에 속성을 영구적으로 저장하는 데 사용됩니다. 따라서 우리가해야 할 일은 Props로 저장 한 다음 변수의 초기 값이라고 부릅니다.

편집 함수 이전 게시물에서 사용한 HTML 코드를 복사하여 붙여 넣고 편집하여 JavaScript 배경으로 전환합니다. 이전 게시물에서 프론트 엔드 스타일과 스크립트를위한 두 개의 추가 파일을 만들었습니다. 오늘 우리의 접근 방식을 따르십시오. 이러한 파일을 만들 필요가 없습니다. 대신, 우리는 모든 것을

함수로 옮길 수 있습니다. setState setAttributes() 전체 코드 attributes.data````javaScript "@WordPress/Element"에서 {usestate} 가져 오기; 내보내기 기본 기능 편집 (소품) { const {속성, setattributes} = props; const [apidata, setapidata] = usestate (attributes.data); function fetchData () { const 옵션 = { 방법 : "get", 헤더 : { "Xapidapi-Key": "빠른 API 키", "Xapidapi-Host": "API-Football-v1.p.rapidapi.com", }, }; 술책( " https://www.php.cn/link/a2a750ff64f34c66249d0f7d3dd42004 ", ",", 옵션 )) .Then ((응답) = & gt; response.json ()) . ((응답) = & gt; { NewData = {... 응답}; setattributes ({data : newData}); setapidata (newData); // 상태를 수정하기 위해 새 데이터를 사용합니다 }) .catch ((err) = & gt; console.error (err)); } <.> useState() 반환 (

페치 데이터 {/ 버튼 데이터 수집을 유발합니다

/} {apidata && ( {/football-rankings.php 스타일 선택기에 대한 ID 추가 /} {/Edit ClassName 사용 /}

순위

로고

팀 이름 gp {/

... 기타 통계 ... /}

형태의 역사

{apidata.response [0] .League.standings [0] .map ((el) = & gt; { // ... 테이블 데이터 렌더링 ... })}

)}

위 내용은 백엔드의 WordPress 블록에서 외부 API 데이터 렌더링의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿