Integração do Tailwind CSS com WordPress

O WordPress ainda domina boa parte da web, mas isso não significa que o front-end precise ficar preso a temas genéricos ou estilos engessados. Integrar o Tailwind CSS ao WordPress permite modernizar completamente o visual, com controle total via classes utilitárias.

Esta integração é ideal para quem desenvolve temas próprios, temas filhos ou blocos customizados no editor Gutenberg.


Quando usar Tailwind no WordPress

  • Criação de temas personalizados do zero

  • Desenvolvimento de temas filhos com override de estrutura

  • Blocos personalizados com Gutenberg + ACF Blocks

  • Integração com plugins headless (como WPGraphQL)


Configurando Tailwind em um tema

1. Estrutura inicial

Dentro do diretório wp-content/themes, crie uma nova pasta, por exemplo meu-tema-tailwind, com a seguinte estrutura:

meu-tema-tailwind/
├── style.css
├── functions.php
├── index.php
├── tailwind.config.js
├── postcss.config.js
├── package.json
├── assets/
│   └── styles/
│       └── main.css

2. Inicializando o projeto

No terminal, dentro do tema:

npm init -y
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init

Crie o postcss.config.js:

module.exports = {
  plugins: {
    tailwindcss: {},
    autoprefixer: {},
  }
}

3. Configurando arquivos Tailwind

No tailwind.config.js:

module.exports = {
  content: [
    "./**/*.php"
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}

E no assets/styles/main.css:

@tailwind base;
@tailwind components;
@tailwind utilities;

4. Gerando o CSS

No package.json, adicione um script de build:

"scripts": {
  "build": "npx tailwindcss -i ./assets/styles/main.css -o ./style.css --minify"
}

E compile com:

npm run build

Habilitando o CSS no tema

No functions.php:

<?php
function meu_tema_tailwind_enqueue() {
  wp_enqueue_style('tailwind-style', get_stylesheet_uri(), [], null);
}
add_action('wp_enqueue_scripts', 'meu_tema_tailwind_enqueue');

Usando Tailwind nos templates PHP

<!-- index.php -->
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
  <meta charset="<?php bloginfo('charset'); ?>">
  <?php wp_head(); ?>
</head>
<body <?php body_class('bg-gray-100 text-gray-800'); ?>>

  <div class="container mx-auto py-10">
    <h1 class="text-3xl font-bold mb-4"><?php bloginfo('name'); ?></h1>
    <p class="text-gray-600"><?php bloginfo('description'); ?></p>
  </div>

  <?php wp_footer(); ?>
</body>
</html>

Considerações sobre o purge

Como o Tailwind precisa escanear os arquivos .php, garanta que content: ["./**/*.php"] esteja corretamente definido. Evite usar class="<?= $variavel ?>" de forma desorganizada, ou use safelist no tailwind.config.js.


Integração com Gutenberg

Você pode usar Tailwind nos blocos padrão do Gutenberg e nos blocos criados com ACF, desde que o CSS final esteja disponível no front-end.

Para controle mais granular, crie blocos com suporte ao InnerBlocks, e aplique classes Tailwind diretamente:

<div class="p-6 bg-white rounded shadow">
  <InnerBlocks />
</div>

Produção e cache

Use um plugin de cache como WP Rocket ou W3 Total Cache para minificar o HTML e evitar acúmulo de arquivos antigos. O Tailwind já gera um CSS enxuto em produção se o purge estiver corretamente configurado.


Vantagens da abordagem

  • Total controle visual direto no PHP

  • Estilo moderno sem depender de temas prontos

  • Ideal para projetos customizados ou freelancers

Updated on