Dieses Tutorial baut auf einem früheren Artikel auf und bietet einen detaillierten Vorstand von Gatsby und WordPress. Die Geschwindigkeits- und Sicherheitsleistungen von Gatsby appellieren an WordPress -Benutzer und bieten eine M?glichkeit, diese Vorteile zu nutzen und gleichzeitig die Erfahrung des bekannten WordPress -Inhaltsmanagements beizubehalten.
Dieser Leitfaden konzentriert sich auf die praktische Implementierung, das Zeichnen verschiedener Ressourcen und die Bew?ltigung potenzieller Herausforderungen. Beachten Sie, dass WPGRAPHQL und GATSBY CLI aktiv entwickelt wurden, was bedeutet, dass die Versionskompatibilit?t von entscheidender Bedeutung ist. Dieses Projekt verwendet WPGraphql 0.8.3, gatsby-source-wpgraphql
2.5.1 und Gatsby CLI 2.12.21. Beziehen Sie sich immer auf die offizielle Dokumentation für die neuesten Updates.
Es gibt mehrere ausgezeichnete Gatsby-Starter, darunter Alexandra Spalatos gatsby-wordpress-theme-blog
und Zac Gordon und Muhammad Muhsins twenty-nineteen-gatsby-theme
.
Voraussetzungen
Um mitzumachen, brauchen Sie:
- Basic React und JavaScript -Wissen. Zahlreiche Online -Ressourcen bieten Einführungsführer an.
- Ein Verst?ndnis für Gatsbys dynamische Mechanismen der Seitenerstellung. Umfassende Tutorials sind leicht verfügbar.
- Eine funktionierende WordPress -Installation. Es gibt viele Guides, um beim Setup zu helfen.
Nutzung bestehender Ressourcen
Dieses Projekt profitierte von früheren Gatsby -Erfahrung und wiederverwendbaren Komponenten (Typografie, Layouts usw.). Zu den wichtigsten Ressourcen geh?rten:
- Henrik Wirths umfassender Gatsby WordPress Starter Guide.
- Jason Lenstorfs Jamstack -Migrations -Tutorial.
- Muhammad Muhsins Leitfaden zum Portieren des zwanzig neunzehn Themas.
Dieses Tutorial spiegelt die Struktur von Henrik Wirth wider und l?sst erweiterte Funktionen wie Bildhandhabung und flexible ACF -Inhalte aus.
Projektphasen:
- WordPress und Gatsby Setup
- Inhaltsmigration
- Implementierung der Navigation
- Blog -Post -Display
- Styling und Einsatz
Phase 1: WordPress und Gatsby einrichten
Beginnen Sie mit der Einrichtung einer WordPress -Site (vorhanden oder neu, sogar eine lokale Installation). Dieses Projekt verwendet das zwanzig zwanzig Thema.
Installieren Sie essentielle Plugins
Installieren Sie WPGRAPHQL (für die GraphQL -API) und WPGraphiql (optional, jedoch hilfreich für Testen von Abfragen). Diese Plugins sind m?glicherweise nicht im WordPress -Plugin -Verzeichnis erh?ltlich. Laden Sie sie direkt von Github herunter und installieren Sie sie manuell. WPGRAPHIQL bietet eine bequeme Testoberfl?che im WordPress -Dashboard.
Gatsby Site Initialisierung
Erstellen Sie eine lokale Gatsby -Site mit dem Standardstarter:
Gatsby New WordPress-Gatsby https://github.com/gatsbyjs/gatsbystarter-default
Starten Sie den Entwicklungsserver ( gatsby develop
) und greifen Sie auf die Starter -Seite unter localhost:8000
zu.
Installieren und konfigurieren Sie das gatsby-source-graphql
Plugin:
Garn addieren Gatsby-Source-Graphql # oder NPM Install-Save Gatsby-Source-Graphql
Konfigurieren Sie gatsby-config.js
:
module.exports = { Plugins: [ { Entschlossenheit: "Gatsby-Source-Graphql", Optionen: { Typname: "Wpgraphql", Feldname: "WpContent", URL: "https://tinjurewp.com/wp-gatsby/graphql", // oder Umgebungsvariablen verwenden }, }, ], };
Erw?gen Sie, das dotenv
-Modul für Umgebungsvariablen zur Verwaltung sensibler Daten zu verwenden.
Nach dem Neustart des Servers ist die WPGRAPHQL -API über Gatsby unter https://localhost:8000/__graphql/
zugegriffen.
Phase 2: WordPress -Inhalt migrieren
Gatsby erstellt w?hrend des Erstellungsprozesses Seiten, indem er Daten mit GraphQL abfragt. Dies beinhaltet die Verwendung von Gatsbys APIs onCreateNode
und createPages
.
Inhaltsvorbereitung
Fügen Sie Ihrer WordPress -Site Beitr?ge und Seiten hinzu. Entfernen Sie index.js
und page-2.js
aus dem Ordner Gatsby pages
um Konflikte zu vermeiden.
Vorlageerstellung
Erstellen Sie Vorlagen für Beitr?ge ( /src/templates/post/index.js
) und Seiten ( /src/templates/page/index.js
):
// src/templates/post/index.js (Beispiel) Import reagieren aus "reagieren"; Layout aus "../../components/layout" importieren; SEO aus "../../components/seo" importieren; const post = ({pageContext}) => { const post = pageContext.post; zurückkehren ( <layout> <seo title="{post.title}"></seo> <h1>{post.title}</h1> <div dangerouslysetinnerhtml="{{" __html: post.content></div> </layout> ); }; Standardpost exportieren;
createPages
API -Implementierung
Verwenden Sie Gatsbys createPages
-API, um Seiten aus WordPress -Daten zu generieren. Dies beinhaltet GraphQL -Abfragen und Datenzuordnung. (Siehe den vollst?ndigen Code im verknüpften GitHub -Repository).
Phase 3: Implementierung der Navigation
Das Navigationsmanagement von WordPress erm?glicht das Erstellen von Menüs. Dieser Abschnitt konzentriert sich darauf, das prim?re Menü mit Gatsby zu portieren.
Menüerstellung in WordPress
Erstellen Sie ein Menü mit dem Namen "Primary" in WordPress und fügen Sie Links zu Ihrer Homepage, Musterseite und anderen relevanten Inhalten hinzu.
GraphQL -Abfrage
Abfragenmenüelemente mit GraphiQL:
Fragen Sie MyQuery ab { Menuitems (wo: {Ort: prim?r}) { Knoten { Etikett URL Titel Ziel } } }
Komponentenerstellung
Erstellen Sie Komponenten für Menüelemente ( MenuItem.js
) und das Menü selbst ( Menu.js
), wobei die URL -Konvertierung von Absolute zu relativen Pfaden bearbeitet wird. (Siehe den vollst?ndigen Code im verknüpften GitHub -Repository).
Integration des Menüs
Fügen Sie die Menu
Ihrer Layout
hinzu. Implementieren Sie eine UniversalLink
-Komponente, um sowohl interne als auch externe Links zu verarbeiten.
Phase 4: Anzeigen von Blog -Posts
Diese Phase konzentriert sich auf das Erstellen von Blog -Post -Vorlagen und -Komponenten für die Pagination.
Globale Variablen
Erstellen Sie eine globals.js
-Datei, um Einstellungen wie blogURI
zu verwalten.
Blog -Vorlage
Erstellen Sie eine Blog -Vorlage ( /src/templates/post/blog.js
), um Beitr?ge anzuzeigen, wobei die Komponenten PostEntry
und Pagination
verwendet werden.
Post -Eintragskomponente
Erstellen Sie eine PostEntry
, um einzelne Beitr?ge anzuzeigen, einschlie?lich vorgestellter Bilder und Auszüge.
Bildkomponente
Erstellen Sie eine Image
, die mit den fertigen Bildern, einschlie?lich Fallback -Bildern, behandelt werden kann.
Paginationskomponente
Erstellen Sie eine Pagination
zum Navigieren durch paginierte Pfosten.
Refactoring createPages
und createPosts
Refactor createPages.js
und createPosts.js
Verwenden von GraphQL -Fragmenten, um die Codeorganisation und die Wartbarkeit zu verbessern. (Siehe den vollst?ndigen Code im verknüpften GitHub -Repository).
Phase 5: Styling und Einsatz
Dieser Abschnitt behandelt Styling- und Bereitstellungsstrategien.
Styling
Verwenden Sie SASS oder andere bevorzugte Methoden zum Styling. Erw?gen Sie, WordPress-Blockstile mit @wordpress/block-library
zu integrieren.
Einsatz
Verwenden Sie Netlify oder andere Plattformen für die kontinuierliche Bereitstellung. Erw?gen Sie, das Plugin von JamStack Deployments für automatische Bereitstellungen zu verwenden, die durch WordPress -?nderungen ausgel?st werden.
Dieser umfassende Leitfaden bietet eine solide Grundlage für die Integration von Gatsby und WordPress. Denken Sie daran, das verknüpfte Github -Repository für die vollst?ndigen Code -Beispiele und weitere Details zu konsultieren. Der Prozess beinhaltet mehrere Schritte und erfordert ein gutes Verst?ndnis von Gatsby und WordPress. Das Ergebnis ist jedoch eine schnelle, sichere und wartbare Website.
Das obige ist der detaillierte Inhalt vonErstellen einer Gatsby -Site mit WordPress -Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

CSS -Bl?cke Seitenrenderung, da Browser inline und externe CSS standardm??ig als wichtige Ressourcen anzeigen, insbesondere mit importierten Stylesheets, Header gro?er Mengen an Inline -CSS und nicht optimierten Medienfragestilen. 1. extrahieren kritische CSS und einbetten Sie es in HTML ein; 2. Verz?gerung des Ladens nichtkritischer CSS durch JavaScript; 3.. Verwenden Sie Medienattribute, um das Laden wie Druckstile zu optimieren. 4. Komprimieren und verschmelzen CSS, um Anfragen zu reduzieren. Es wird empfohlen, Tools zum Extrahieren von Schlüssel -CSS zu verwenden, REL = "Vorspannung" zu kombinieren, und verwenden Sie die asynchrone Belastung und verwenden Sie die Medienverz?gerungsladeverletzung, um eine überm??ige Aufteilung und eine komplexe Skriptsteuerung zu vermeiden.

ThebestApproachforcssDependsonTheProject'Sspecificneeds.forlargerProjects, externalcssisbetterDuetomaintainability;

Csssmostlycase-unempfindlich, buturlsandfontfamilynamesarecase-sensitiv.1) Eigenschaften und ValueslikeColor: rot; sensitiv.2) URLSMUTMATTHESERVER'SCASE, z.

AutoPrefixer ist ein Tool, das die Pr?fixe von Anbietern automatisch zu CSS -Attributen basierend auf dem Zielbrowserbereich hinzufügt. 1. Es l?st das Problem, die Pr?fixe mit Fehlern manuell aufrechtzuerhalten. 2. Arbeiten Sie das POSTCSS-Plug-in-Formular durch, analysieren Sie CSS, analysieren Sie Attribute, die vorangestellt werden müssen, und generieren Sie den Code gem?? Konfiguration. 3.. 4. Notizen enthalten nicht manuelles Hinzufügen von Pr?fixen, Konfigurationsaktualisierungen, Pr?fixe nicht alle Attribute, und es wird empfohlen, sie mit dem Pr?prozessor zu verwenden.

CSSCOUNTERSCANATOMATIONSNUMBERSEctions und.1) usecounter-resettoinitialize, counter-IncrementtoIncrease, und Counter () orcounters () todisplayValues.2) kombinierte withjavascriptfordynamiccontentToEsSureAccurateupdates.

In CSS sind Selektor- und Attributnamen fallempfindlich, w?hrend Werte, Namen, URLs und benutzerdefinierte Attribute fallempfindlich sind. 1. Die Auswahl- und Attributnamen sind unempfindlich, z. B. Hintergrundfarbe und Hintergrundfarbe sind gleich. 2. Die hexadezimale Farbe im Wert ist fallempfindlich, aber die benannte Farbe ist fallempfindlich, wie rot und rot ist ungültig. 3. Die URLs sind fallsempfindlich und k?nnen zu Ladeproblemen von Dateien führen. 4. Benutzerdefinierte Eigenschaften (Variablen) sind fallempfindlich und Sie müssen auf die Konsistenz des Falles bei der Verwendung achten.

CsSelectorsandPropertyNamesArecase-inemsitiv, w?hrend Valuescanbecase-sensibiledPendingoncontext.1) Selectors wie div'and'div'areequivalent.2) PropertieSuchas'back-background-color'and'background-Color'arteated-theam.3) VactieLKasecasecasecasecasecase-Ensens
