Inhaltsverzeichnis
Arbeiten mit externen APIs in WordPress -Blöcken
Einrichten des Block -Plugins
API -Datenintegration
Daten in edit.js
Datenspeicher in WordPress
Front-End-Ausgang
Heim Web-Frontend CSS-Tutorial Rendern externer API -Daten in WordPress -Blöcken am vorderen Ende

Rendern externer API -Daten in WordPress -Blöcken am vorderen Ende

Mar 10, 2025 am 11:16 AM

Rendering External API Data in WordPress Blocks on the Front End

Dieses CSS-Tricks-Tutorial baut auf früheren Beiträgen zu WordPress-Blöcken auf und konzentriert sich auf das Abrufen und Anzeigen dynamischer Inhalte von einer externen API am vorderen Ende. Während frühere Tutorials Block-Grundlagen und Back-End-Rendering abdeckten, befasst sich diese mit der Verwendung externer Daten innerhalb eines benutzerdefinierten Blocks.

Dies ist Teil einer Reihe, die verschiedene Aspekte der Integration externer API -Daten in benutzerdefinierte WordPress -Blöcke abdeckt:

Arbeiten mit externen APIs in WordPress -Blöcken

  • Daten auf der vorderen End (aktuell)
  • rendern
  • Daten zum Back End (Future)
  • rendern
  • Erstellen einer benutzerdefinierten Einstellungen ui (Zukunft)
  • Speichern benutzerdefinierter Blockeinstellungen (Zukunft)
  • Arbeiten mit Live -API -Daten (Zukunft)

Wir werden einen Block erstellen, in dem die Rangliste der Fußball-Liga aus API-Football angezeigt wird, um das @wordpress/create-block -Paket für das Projekt-Setup zu nutzen.

Einrichten des Block -Plugins

Wir werden ein neues Projekt mit der Befehlszeile erstellen:

npx @wordpress/create-block football-rankings
Nach dem Login kopieren
Nach dem Login kopieren

Nach dem Platzieren des generierten Ordners in Ihrem WordPress wp-content/plugins -Verzeichnis und aktivieren werden wir uns auf diese Schlüsseldateien konzentrieren:

  • edit.js
  • index.js
  • football-rankings.php

API -Datenintegration

Wir werden Api-Football (über Rapidapi) verwenden. Rapidapi liefert die erforderlichen Skripte für das Abholen von Daten. JsonCrack kann dazu beitragen, die JSON -Struktur zu visualisieren.

Daten in edit.js

abrufen

Der useEffect Haken in edit.js ruft Daten nur einmal auf Seitenlast ab und verhindert unnötige API-Aufrufe während der Wiederherstellung von Blockeditors:

import { useEffect } from "@wordpress/element";

export default function Edit(props) {
  // ... (rest of the code remains largely unchanged)
  useEffect(() => {
    // ... (fetch code using RapidAPI key and host)
    .then( ( response ) => response.json() )
    .then( ( response ) => {
      setAttributes( { data: response } ); //Simplified data assignment
    })
    .catch((err) => console.error(err));
  }, []);
  // ... (rest of the code remains largely unchanged)
}
Nach dem Login kopieren

Datenspeicher in WordPress

Die Datei index.js definiert das Attribut data, um den abgerufenen JSON zu speichern:

registerBlockType( metadata.name, {
  // ...
  attributes: {
    data: {
      type: "object",
    },
  },
  // ...
} );
Nach dem Login kopieren

Dies stellt sicher, dass WordPress die API -Daten in der Datenbank speichert.

Front-End-Ausgang

Wir erstellen frontend.js und frontend.css (oder frontend.scss), um Front-End-Rendering und -Styling zu verarbeiten, getrennt von der Back-End-Logik. football-rankings.php befreien diese Assets mit wp_enqueue_script und wp_enqueue_style nur dann, wenn nicht im Administratorkontext (!is_admin()). Die render_callback -Funktion in football-rankings.php übergibt die Attribute an das Front-End-JavaScript.

// football-rankings.php (excerpt)
function render_frontend($attributes) {
  if( !is_admin() ) {
    wp_enqueue_script( 'football_rankings', plugin_dir_url( __FILE__ ) . '/build/frontend.js');
    wp_enqueue_style( 'football_rankings', plugin_dir_url( __FILE__ ) . '/build/frontend.css' );
  }
  // ... (rest of the code)
}
Nach dem Login kopieren

Die frontend.js Datei (vereinfacht):

npx @wordpress/create-block football-rankings
Nach dem Login kopieren
Nach dem Login kopieren

Das Styling in frontend.scss oder frontend.css ist für die visuelle Darstellung der Daten verantwortlich. Der Abschnitt package.json Datei scripts sollte aktualisiert werden, um die Frontend -Dateien in den Erstellungsprozess aufzunehmen.

Eine vollständige Demo und ein detailliertes Styling sind im Originalartikel erhältlich. Diese überarbeitete Antwort bietet einen kurzen Überblick über die wichtigsten Schritte und Code -Snippets.

Das obige ist der detaillierte Inhalt vonRendern externer API -Daten in WordPress -Blöcken am vorderen Ende. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Arbeiten mit GraphQL Caching Arbeiten mit GraphQL Caching Mar 19, 2025 am 09:36 AM

Wenn Sie kürzlich mit GraphQL gearbeitet oder seine Vor- und Nachteile überprüft haben, haben Sie zweifellos Dinge wie "GraphQL nicht unterstützen Caching" oder gehört

Aufbau einer Ethereum -App mit Redwood.js und Fauna Aufbau einer Ethereum -App mit Redwood.js und Fauna Mar 28, 2025 am 09:18 AM

Mit dem jüngsten Aufstieg von Bitcoins Preis über 20.000 USD und kürzlich von 30.000, dachte ich, es lohnt

Erstellen Sie Ihr eigenes Bragdoc mit ELEITY Erstellen Sie Ihr eigenes Bragdoc mit ELEITY Mar 18, 2025 am 11:23 AM

Unabhängig davon, in welcher Phase Sie als Entwickler Sie befinden, haben die Aufgaben, die wir erledigen - ob groß oder klein - einen enormen Einfluss auf unser persönliches und berufliches Wachstum.

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

Es ist aus! Herzlichen Glückwunsch an das Vue -Team, dass es eine massive Anstrengung war und lange kommt. Alle neuen Dokumente auch.

Können Sie gültige CSS -Eigenschaftswerte aus dem Browser erhalten? Können Sie gültige CSS -Eigenschaftswerte aus dem Browser erhalten? Apr 02, 2025 pm 06:17 PM

Ich ließ jemanden mit dieser sehr legitimen Frage einschreiben. Lea hat gerade darüber gebloggt, wie Sie gültige CSS -Eigenschaften selbst aus dem Browser erhalten können. Das ist so.

Ein bisschen auf CI/CD Ein bisschen auf CI/CD Apr 02, 2025 pm 06:21 PM

Ich sage "Website" passt besser als "Mobile App", aber ich mag dieses Rahmen von Max Lynch:

Vergleich von Browsern für reaktionsschnelles Design Vergleich von Browsern für reaktionsschnelles Design Apr 02, 2025 pm 06:25 PM

Es gibt eine Reihe dieser Desktop -Apps, in denen das Ziel Ihre Website gleichzeitig in verschiedenen Dimensionen angezeigt wird. So können Sie zum Beispiel schreiben

Gestapelte Karten mit klebriger Positionierung und einem Schuss Sass Gestapelte Karten mit klebriger Positionierung und einem Schuss Sass Apr 03, 2025 am 10:30 AM

Neulich habe ich dieses besonders schöne Stück von der Website von Corey Ginnivan entdeckt, auf der eine Sammlung von Karten aufeinander stapelt.

See all articles