🎉 USE O CUPOM FIM.DE.SEMANA.FULL | com 15% OFF

wp_enqueue (Scripts e Styles)

wp_enqueue WordPress carrega JS e CSS de forma organizada. Veja wp_enqueue_script, wp_enqueue_style e boas práticas para evitar conflitos.

Avançado 5 min de leitura Também conhecido como: enqueue scripts, enqueue styles

wp_enqueue WordPress é o nome genérico para as funções nativas wp_enqueue_script() e wp_enqueue_style() — usadas para registrar e carregar arquivos JavaScript e CSS de forma organizada e otimizada em temas e plugins. Em vez de chamar <script> e <link> direto no HTML, você usa essas funções, e o WordPress se encarrega de carregar os arquivos no momento certo, evitar duplicações, gerenciar dependências e aplicar versionamento para invalidar cache. É padrão obrigatório em qualquer código WordPress profissional.

O que é wp_enqueue

wp_enqueue é a forma correta de carregar js css wordpress segundo as guidelines oficiais. O WordPress mantém uma fila interna de scripts e styles a serem incluídos na página renderizada; quando você chama wp_enqueue_script ou wp_enqueue_style, o arquivo entra nessa fila e é renderizado no HTML pelo motor do WordPress no momento adequado.

O sistema existe desde o WordPress 2.6 (2008) e resolve um problema clássico: temas e plugins escritos com tags <script> soltas no header.php ou em hooks aleatórios geram conflitos. Duas plugins carregam jQuery em versões diferentes, ou o mesmo arquivo é incluído duas vezes, ou o JavaScript de um plugin depende de outro que ainda não foi carregado. Sem orquestração, vira caos.

wp_enqueue elimina esses problemas com três mecanismos: registro centralizado (todos os arquivos passam pela fila), gestão de dependências (você declara que seu script precisa de jQuery e o WordPress garante a ordem), e versionamento automático (o WordPress adiciona ?ver=X.X.X na URL para forçar invalidação de cache do navegador quando o tema atualiza).

Tecnicamente, wp_enqueue funciona dentro do hook wp_enqueue_scripts (frontend) ou admin_enqueue_scripts (admin). Você registra uma função PHP no hook, e dentro dela chama wp_enqueue_script e wp_enqueue_style com os parâmetros corretos. O WordPress executa sua função no momento certo do ciclo de renderização.

Como usar wp_enqueue_script

A assinatura completa do wp_enqueue_script aceita até cinco parâmetros: handle (identificador único), src (URL do arquivo), deps (array de dependências), ver (versão), in_footer (true para carregar no final do body em vez do head).

Exemplo prático: wp_enqueue_script(‘meu-script’, get_template_directory_uri() . ‘/js/meu-script.js’, array(‘jquery’), ‘1.0.0’, true);. Isso registra um script com handle único, aponta para o arquivo no diretório do tema, declara dependência de jQuery (WordPress carrega jQuery automaticamente antes), define versão 1.0.0 (gera ?ver=1.0.0 na URL) e força carregamento no footer (true no último parâmetro).

O WordPress traz dezenas de scripts já registrados — jQuery, jQuery UI, Backbone, Underscore, React (no admin), wp-api. Você não precisa carregar esses; basta declarar como dependência e o WP cuida do resto. Para listar todos, basta consultar o Codex (Default Scripts Included and Registered with WordPress).

Para passar dados PHP para JavaScript, use wp_localize_script(). A função expõe variáveis JavaScript para o script enfileirado. Útil para passar URL da REST API, nonces, configurações dinâmicas. Combinado com functions.php bem organizado, é o padrão profissional.

Como usar wp_enqueue_style

O wp_enqueue_style segue lógica equivalente. Cinco parâmetros: handle, src, deps, ver, media (“all”, “screen”, “print”). Exemplo: wp_enqueue_style(‘meu-style’, get_template_directory_uri() . ‘/css/meu-style.css’, array(), ‘1.0.0’, ‘all’);.

O parâmetro media é menos usado mas útil em casos específicos. “print” carrega o CSS apenas quando o usuário imprime a página — ideal para estilos específicos de impressão sem afetar a renderização normal. “screen” é o padrão visual; “all” cobre todos os casos. Para a maioria dos projetos, deixar como “all” resolve.

Em child themes, o padrão recomendado pela documentação oficial é enfileirar primeiro o CSS do parent theme e depois o do child. Isso garante que os estilos do child sobrescrevam os do parent quando há conflito. wp_enqueue_style(‘parent-style’, get_template_directory_uri() . ‘/style.css’); wp_enqueue_style(‘child-style’, get_stylesheet_directory_uri() . ‘/style.css’, array(‘parent-style’));.

Para Google Fonts e outros recursos externos, use a URL completa em vez de get_template_directory_uri. wp_enqueue_style(‘google-fonts’, ‘https://fonts.googleapis.com/css2?family=Inter’);. O WordPress entende URLs absolutas e renderiza o <link> corretamente. Combinado com tema WordPress bem estruturado, é a base de qualquer projeto sério.

Boas práticas de carregamento

A primeira boa prática é nunca enfileirar scripts e styles fora do hook adequado. Chamar wp_enqueue_script no functions.php sem hook funciona em alguns casos, mas pode causar timing errado e bugs intermitentes. Sempre use add_action(‘wp_enqueue_scripts’, ‘sua_funcao’).

A segunda é usar handles únicos e descritivos. “meu-tema-main”, “plugin-x-admin-config”, “acme-checkout-validator”. Handles genéricos como “main” ou “script” colidem com outros temas e plugins, gerando comportamento imprevisível. Prefixe sempre com nome do tema ou plugin.

A terceira é carregar o JavaScript no footer sempre que possível (último parâmetro true). Scripts no head bloqueiam o render da página até o download terminar; scripts no footer permitem que o HTML carregue primeiro e o JavaScript depois. Em métricas de Core Web Vitals, faz diferença mensurável de LCP.

A quarta é só carregar o que cada página realmente precisa. Em vez de enfileirar todos os scripts em todas as páginas, use lógica condicional: if (is_singular(‘produto’)) { wp_enqueue_script(‘produto-script’); }. Carregar JavaScript de checkout em página de blog desperdiça banda do usuário e atrapalha performance.

A quinta é versionar corretamente. Use número de versão real do plugin/tema, ou um filemtime() para forçar invalidação de cache quando o arquivo é editado. Sites em produção que esquecem versionamento ficam com usuários presos em cache antigo após cada atualização — bug clássico que se evita com 1 linha de código.

Para garantir que o tema, os plugins e o WordPress como um todo carreguem JavaScript e CSS de forma otimizada, com defer, async, lazy loading de assets pesados e minificação automática, a FULL Services entrega o Perfmatter licenciado e configurado dentro do painel — peça-chave para tunar wp_enqueue além do que o tema entrega de fábrica. É a forma de transformar carregamento padrão em carregamento profissional, com Core Web Vitals consistentemente verdes em produção.

Termos relacionados

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes