0
55

SHARE

Frontend com Next.js - Setup e Integração Inicial com WordPress

Frontend com Next.js: Setup e Integração Inicial

Configure Next.js com TypeScript, Tailwind e App Router, e integre a REST API do WordPress para criar um site headless rápido e moderno
Este post é a parte 4 de 5 da Série WordPress Headless + APIs

Agora que configuramos o WordPress como backend headless, é hora de começar o frontend moderno.

Vamos usar Next.js com TypeScript, ESLint, Tailwind CSS, App Router, Turbopack e src/ para criar um site rápido, escalável e integrado à REST API do WordPress.


📦 Setup Completo do Projeto

npx create-next-app meu-front-headless

Escolhemos as opções:
✅ Yes – TypeScript
✅ Yes – ESLint
✅ Yes – Tailwind CSS
✅ Yes – App Router
✅ Yes – src/ directory
✅ Yes – Turbopack
✅ No – Custom import alias

Rodamos o projeto com:

npm run dev

O navegador exibe a tela inicial do Next.js com Tailwind funcionando se você acessar o link.


📂 Estrutura inicial criada

meu-front-headless/
├── .next/
├── node_modules/
├── public/
├── src/
│   ├── app/
│   │   ├── globals.css
│   │   └── page.tsx
│   ├── lib/
└── ...

🎨 Tailwind CSS já configurado

O arquivo src/app/globals.css já inclui o Tailwind e variáveis globais para tema:

@import "tailwindcss";

:root {
  --background: #ffffff;
  --foreground: #171717;
}

/* ... tema claro/escuro ... */

body {
  background: var(--background);
  color: var(--foreground);
  font-family: Arial, Helvetica, sans-serif;
}

🌐 Integração Inicial com a REST API do WordPress

Vamos buscar os posts do WordPress usando a API REST no Next.js.

📚 1️⃣ Crie src/lib/api.ts:

const API_URL = 'https://seudominio.com/wp-json/wp/v2'; //Aqui é a URL do json, no meu caso http://localhost/wordpress/wp-json/wp/v2

export interface WPPost {
  id: number;
  title: { rendered: string };
  content: { rendered: string };
}

export async function fetchPosts(): Promise<WPPost[]> {
  const res = await fetch(`${API_URL}/posts`);
  if (!res.ok) throw new Error('Erro ao buscar posts');
  return res.json();
}

📚 2️⃣ Modifique src/app/page.tsx (Next.js App Router):

import { fetchPosts, WPPost } from '../lib/api';

export default async function Home() {
  const posts: WPPost[] = await fetchPosts();

  return (
    <main className="flex flex-col min-h-screen p-8">
      <h1 className="text-4xl font-bold mb-4">Posts do WordPress</h1>
      <ul className="list-disc list-inside">
        {posts.map(post => (
          <li key={post.id} className="mb-2">
            {post.title.rendered}
          </li>
        ))}
      </ul>
    </main>
  );
}

✅ O App Router usa Server Components e podemos usar await direto no componente.
✅ A lista de posts virá direto da REST API e será exibida na home.


⚠️ Observações:

  • A URL da API (API_URL) deve apontar para seu WordPress real.
  • Para ambientes diferentes (local, staging, prod), use variáveis .env.local.
  • Garanta que o CORS e o HTTPS estejam configurados no WordPress (como vimos no post anterior).

🚀 Teste a Integração

✅ Rode o projeto com npm run dev.
✅ Acesse a home e veja a listagem de posts vindo da REST API do WordPress.


📌 Próximos passos

Nos próximos dias vamos:

  • Criar rota dinâmica de post único com Next.js App Router.
  • Integrar campos ACF e taxonomias.
  • Implementar filtros e busca via API.
  • Melhorar SEO e performance para produção.

Navegação<< Configurando o WordPress como Backend HeadlessListagem de Posts e Roteamento Dinâmico no Next.js >>

Não perca mais nenhuma atualização aqui!

Ative as Notificações!

Clique aqui e, em seguida, clique em Permitir na caixa que aparecerá na parte superior da janela, próximo à barra de endereços.

Torne-se um Assinante e Eleve seu Conhecimento do WordPress!

Acesso Exclusivo, Suporte Especializado e Muito Mais.

Se você está aproveitando nosso conteúdo gratuito, vai adorar os benefícios exclusivos que oferecemos aos nossos assinantes! Ao se tornar um assinante do WP24Horas, você terá acesso a:

Não perca a oportunidade de maximizar seu potencial no WordPress. Clique no botão abaixo para se tornar um assinante e leve suas habilidades ao próximo nível!

Não perca mais nenhuma atualização aqui!

Tabela de Conteúdo
PUBLICIDADE
Últimos Posts
Listagem e Detalhes de Posts WordPress com API REST no Next.js

Listagem de Posts e Roteamento Dinâmico no Next.js

Configurando o WordPress como Backend Headless

Configurando o WordPress como Backend Headless

REST API do WordPress

REST API do WordPress: Visão Geral

Introdução ao WordPress Headless

Introdução ao WordPress Headless

Como Distribuir Seus Blocos Gutenberg em Plugins ou no GitHub

Distribuindo Seus Blocos: Plugins, Repositório e GitHub

Como Validar e Testar Blocos Gutenberg

Testes e Validação de Blocos com @wordpress/scripts

Você precisa estar logado para ver esta informação.

Torne-se um Assinante e Eleve seu Conhecimento do WordPress!

Acesso Exclusivo, Suporte Especializado e Muito Mais.

Se você está aproveitando nosso conteúdo gratuito, vai adorar os benefícios exclusivos que oferecemos aos nossos assinantes! 

Não perca a oportunidade de maximizar seu potencial no WordPress. Clique no botão abaixo para se tornar um assinante e leve suas habilidades ao próximo nível!