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

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으로 문의하세요.
CSS 애니메이션 : 만들기가 어렵습니까?CSS 애니메이션 : 만들기가 어렵습니까?May 09, 2025 am 12:03 AM

cssanimationsarenherinly에 hardbutreepracticenderstandingofcsspropertiesandtimingflestions.1) startsimpleants withsimpleatslikeScalingabuttononHoverusingKeyframes.2) useAsingfuctionslikecubic-bezierfornateffects, 그러한 분위기, 3)

@keyframes CSS : 가장 많이 사용되는 트릭@keyframes CSS : 가장 많이 사용되는 트릭May 08, 2025 am 12:13 AM

@keyframesispopularduetoitstativerstatility 및 powerincreatingsmoothcssanimations.keytricksinclude : 1) states 사이에 moothtransitionsbettites, 2) 애니메이션 multiplepropertiessimultory, 3) vendorPixesforBrowsercompatibility, 4) 빗질을 사용하여

CSS 카운터 : 자동 번호 매기기에 대한 포괄적 인 안내서CSS 카운터 : 자동 번호 매기기에 대한 포괄적 인 안내서May 07, 2025 pm 03:45 PM

csScounterSearedTomanageAutomaticNumberingInberingInwebDesigns.1) 1) theCanbeusedfortablestoffContents, ListItems 및 CustomNumbering.2) AdvancedUsesInSinestedNumberingsystems.3) CreativeUseNvolvecust를 CreativeSinvolecust.4) CreativeSinvolvecust

스크롤 구동 애니메이션을 사용한 현대 스크롤 그림자스크롤 구동 애니메이션을 사용한 현대 스크롤 그림자May 07, 2025 am 10:34 AM

특히 모바일 장치에 스크롤 그림자를 사용하는 것은 Chris가 이전에 다룬 미묘한 UX입니다. Geoff는 애니메이션 타임 라인 속성을 사용하는 새로운 접근 방식을 다루었습니다. 또 다른 방법이 있습니다.

이미지 맵 재 방문이미지 맵 재 방문May 07, 2025 am 09:40 AM

빠른 새로 고침을 통해 실행합시다. 이미지 맵은 html 3.2로 돌아가는데, 먼저 서버 측 맵과 클라이언트 측지 맵은 맵 및 영역 요소를 사용하여 이미지를 통해 클릭 가능한 영역을 정의했습니다.

DEVS 상태 : 모든 개발자를위한 설문 조사DEVS 상태 : 모든 개발자를위한 설문 조사May 07, 2025 am 09:30 AM

Devs State Survey는 이제 참여에 개방되어 있으며, 이전 설문 조사와 달리 코드, 직장, 건강, 취미 등을 제외한 모든 것을 포함합니다. 

CSS 그리드는 무엇입니까?CSS 그리드는 무엇입니까?Apr 30, 2025 pm 03:21 PM

CSS 그리드는 복잡하고 반응이 좋은 웹 레이아웃을 만드는 강력한 도구입니다. 디자인을 단순화하고 접근성을 향상 시키며 이전 방법보다 더 많은 제어를 제공합니다.

CSS Flexbox 란 무엇입니까?CSS Flexbox 란 무엇입니까?Apr 30, 2025 pm 03:20 PM

기사는 반응 형 설계에서 공간의 효율적인 정렬 및 분포를위한 레이아웃 방법 인 CSS Flexbox에 대해 설명합니다. Flexbox 사용을 설명하고 CSS 그리드와 비교하고 브라우저 지원 세부 사항을 설명합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경