
Learn to build a blog website using Gatsby and WordPress as a headless CMS, combining HTML, CSS, and ReactJS to create front end pages, categories, posts, and pagination.
Set up a WordPress site with Local by Flywheel using the starter file, then import and run the site. WordPress serves as backend and Gatsby as frontend to fetch data.
Activate the Gatsby source WordPress plugin and WP GraphQL to connect WordPress data, including custom fields, to the Gatsby front end, exploring posts and pages.
Set up the essential tooling for this course by installing node from nodejs.org to get npm, the package manager, and using Visual Studio Code as your code editor.
Create a new Gatsby project with the Gatsby CLI, run gatsby new, install dependencies, and start the app to view localhost:8000, after installing the required node and npm versions.
Install the required dependencies for the Gatsby site: gatsby-plugin-google-fonts, styled-components, and gatsby-source-wordpress, then start the app and verify it runs on localhost:8000.
Copy starter files including images, components, and templates from the Gatsby hyphen WP folder into your project, then replace and merge, clean up package.json, and run the site to verify.
Configure Gatsby plugins for image handling, WordPress source, manifest, style components, and Google fonts; set siteMetadata; point to the local WordPress GraphQL endpoint; run and verify the local site.
Create a layout component in the components/layout folder, importing React and layout.styles to apply primary and global styles, and use a state hook to manage the mobile menu.
Build a responsive hamburger button for the mobile menu in a Gatsby React layout, integrating the Hamburger component with overlay handling to reveal the menu at the small breakpoint.
Fetch header menu data from a GraphQL API in Gatsby using a custom hook and static query, surfacing site metadata and menu items from WordPress.
Build a Gatsby header component with a logo linked to the home page and the Bookworm title fetched via useMenuQuery, styled with wrapper and content, then inserted after the hamburger.
Create a Gatsby navigation by building a navigation component that consumes the WP menu data, renders main items and submenus with links, active states, and styling.
Build and integrate a footer component in a Gatsby React project, using a footer wrapper style, exporting footer, and adding contact info with a mock po box address.
Create a mobile overlay menu in a Gatsby site using OverlayMenu tied to layout state, a WP menu with useMenu, and a close button with opacity and transform.
Create a GraphQL query for the home page hero image and text using WordPress and ACF, then fetch data with a useStaticQuery hook for a full-width image.
Build a Gatsby hero image component for a WordPress headless CMS site using the gatsby-plugin-image, GraphQL data, and styled components to render hero image and text.
Create a call to action area on the home page by querying three CTA images, texts, and links from WordPress via GraphQL, using a fragment for CTA image data.
Build a call-to-action area component for a Gatsby site using CTA area query and a wrapper for three CTAs, then integrate on index page and verify image, link, and text.
Build three dynamic call-to-action boxes in a Gatsby site powered by WordPress as a headless CMS, using Gatsby image and a CTA component with image, text, and links.
Learn to fetch the latest WordPress post in a Gatsby React app by building a GraphQL query, sorting posts by date descending, and creating a useLatestBlogPost hook with useStaticQuery.
Build a latest blog post component in Gatsby with React and the useLatestBlogPost hook to render the first post’s title and excerpt using dangerouslySetInnerHTML, plus a read more link.
Create a GraphQL query in Gatsby to fetch the author and code text from a WordPress page, using the headless CMS workflow and a code query component.
Create a React code component in a Gatsby site, fetch data from WordPress via a query, and render an image, quote, author, and code text using wrapper and content styling.
Create a GraphQL query for the about section in Gatsby, selecting a WP page with database id 47 and retrieving content and featured image as a background via public URL.
Build a Gatsby site using React and WordPress as a headless CMS by constructing an about section with GraphQL queries, components, and image handling for featured images and page content.
Create dynamic Gatsby pages by querying WordPress page links with GraphQL and building a page template using the Route API.
Builds the page structure for a Gatsby page template by creating in-page style components, importing GraphQL tag, and wiring a layout with a wrapper, content wrapper, and content.
Build a dynamic page query in Gatsby using WordPress as a headless CMS, fetching title, content, status, and featured image for pages and their children with a variable ID.
Create page hero images for a Gatsby site using WordPress as a headless CMS by building a PageHero component, wiring Gatsby image, and conditionally rendering the featured image.
Build a breadcrumb component for a Gatsby site using React and WordPress as a headless CMS, wiring Gatsby Link and wrapper styles to render home and a conditional parent title.
Build the page layout with a sidebar and content in a Gatsby React site powered by WordPress as a headless CMS, creating a page sidebar, sidebar message, and menus.
Fetch WordPress categories and post counts via a GraphQL query in Gatsby node, filtering out uncategorized. Set posts per page to ten and create pages with the Gatsby node API.
Build a Gatsby site with React and WordPress as a headless CMS by creating an archive template with GraphQL query for categories and applying archive styles using layout and breadcrumb.
Create category archive pages in a Gatsby blog by wiring gatsby-node to map WordPress categories to archive templates, paginate posts per page, and exclude uncategorized.
Write a Gatsby archive page query by hand, filtering all WP posts by id with variables, and retrieve id, title, excerpt, slug, and a formatted date to render blog archives.
Create a static hero image for the blog page and implement a breadcrumb to navigate posts, using the archive header image and a wrapper component.
Build an archive sidebar component for the Gatsby site, sorting categories, displaying post counts, and linking to category pages with an active highlight and a header icon.
Create an archive template in a Gatsby React app that renders WordPress posts with an archive sidebar, page content, post titles, dates, and read more links, using dangerouslySetInnerHTML.
Build a Gatsby pagination component in React using styled-components and Gatsby Link, implementing previous and next navigation with dynamic URL parameters and conditional rendering based on page and total pages.
Build dynamic blog post pages using the Route API in a Gatsby site, setting up a blog folder, defining a post route, and wiring a React component.
Scaffold the post page by wiring layout, breadcrumbs, and styled components, create a content wrapper and post content with a header and sidebar, and prepare the page query.
Create a page query for a post with GraphQL to fetch id, title, content, author name, formatted date, and categories with slug, then inspect the console for data readiness.
Create the posts sidebar and content in a Gatsby site using React and WordPress as a headless CMS, wiring date, author, and categories to render post content.
Gatsby with WordPress as a headless use React and the static site generator Gatsby to build a front end for a WordPress site
Create a REAL WORLD CLIENT Front End with Gatsby.js and WordPress as a Headless CMS!!
This course will NOT teach you how to build a WordPress site. The actual WordPress backend is pre built and I will not show how to build that. The sole purpose of this course is to teach Gatsby and how you can use Gatsby to create a Front End from a WordPress CMS. The purpose is NOT to show how the complete site is built with WordPress.
Are you a developer that like “code along” style learning? Do you want to learn Gatsby.js fundamentals in a real world project oriented course? Do you like quick learning and straight down to the point? Then this is the course for you!
In this course we’re building a real world website in Gatsby.js
My teaching style and belief is that you learn more by creating many smaller projects than one overwhelming 25 + hours course that tries to show you everything and don’t focus on the fundamentals that much. So this is a shorter, project oriented, course where You’ll learn how to create a real world client site from scratch with Gatsby.js. Gatsy uses GraphQL by default so this is an awesome way to start with some GraphQL.
What this course is!
This is an intermediate course. I assume that you know some Javascript and React
This is a quite fast paced project oriented course to learn the fundamentals of Gatsby.js
This is a course were you will learn GraphQL basics.
This is a “code along” style of course.
This is a course were you will learn how to connect an existing WordPress site to Gatsby.js and use it as a Headless CMS.
This is a course were you will use React. It will not teach basics of React but it should be good for an intermediate React developer.
This is a course that uses a lot of ES6 Syntax.
What this course IS NOT!
This course is not a beginner React course
This course will not deeply explain React syntax.
This course will not teach GraphQL in detail. (We will use it though and should be a great overview/start to learn GraphQL)
This course will not teach WordPress and how the actual WordPress backend is built. We’re not building anything in WordPress. The course is focused to learn Gatsby.js and how to connect an existing WordPress site to Gatsby.
My main goal with this course is to mix fun with teaching. There’s many tutorials and courses out there that are great but too complex and focus on a lot at the same time. Hope you enjoy it too!
Please make sure to download the STARTER FILES from the resources!