Desenvolvimento WordPress

Dashicons: como usar a fonte de ícones do WordPress

Aprenda a usar Dashicons no menu, CPTs, front-end e Gutenberg com exemplos de código prontos. Sem plugins e sem impacto em Core Web Vitals.
Escrito Por Leandro Vieira em outubro de 2016 /11 min de leitura
Conteúdo escrito por humano
dashicons

Dashicons é a fonte de ícones vetorial nativa do WordPress, carregada por padrão no painel administrativo desde a versão 3.8, com cerca de 360 ícones prontos para uso em menus, botões e blocos. Ela substitui bibliotecas externas em boa parte dos casos de uso do admin, sem custo adicional de carregamento.

Se você gerencia um site WordPress com múltiplos editores e uma pilha de plugins, sabe que cada biblioteca externa de ícones cobra um preço em performance. Carregar um pacote inteiro só para exibir três ícones pesa no tempo de carregamento e pode comprometer suas métricas de Core Web Vitals. A boa notícia é que o WordPress já entrega uma solução pronta e nativa.

Neste guia, mostramos na prática como aplicar Dashicons nos cenários que mais aparecem no dia a dia de quem desenvolve para WordPress em escala:

  • Menu do admin: definir ícones em páginas de primeiro nível criadas por plugins.
  • Custom Post Types: escolher o ícone que representa cada CPT no menu lateral.
  • Front-end do tema: carregar a fonte de forma controlada, sem prejudicar o LCP.
  • Editor de blocos: atribuir ícones a blocos customizados no Gutenberg.
  • Troubleshooting: resolver os casos mais comuns em que o Dashicon não aparece.

O que é Dashicons e por que ela existe no WordPress

Antes da versão 3.8, o painel usava um sprite: uma única imagem com vários ícones recortados via CSS. O problema era evidente. Em telas de alta densidade (retina), esses ícones ficavam borrados e a manutenção era trabalhosa. A fonte de ícones resolveu isso de uma vez, porque caracteres vetoriais escalam sem perder nitidez em qualquer resolução.

Desde então, a família cresceu a cada lançamento para acompanhar novos recursos do core. Hoje, segundo a página oficial dos Dashicons no WordPress.org, são cerca de 360 ícones disponíveis. Para quem constrói plugins e temas, isso significa três ganhos diretos: unidade visual com o restante do painel, familiaridade imediata para o usuário e zero custo de carregamento extra no admin, já que a fonte vem ativa por padrão em um arquivo woff2 de aproximadamente 45 KB.

Quando usar Dashicons e quando preferir SVG inline?

wordpress admin menu icons

A regra prática é simples: no painel administrativo, Dashicons é o padrão. No front-end, a decisão depende de quantos ícones você precisa e do impacto em performance que está disposto a aceitar.

O mecanismo importa aqui. Uma fonte de ícones carrega um arquivo único mesmo que você use apenas um ícone. Já o SVG inline carrega exatamente o que renderiza, sem peso de biblioteca. Em páginas com LCP crítico, essa diferença conta. A própria equipe do Gutenberg recomenda SVG inline para ícones de front-end quando o número de ícones é pequeno. Se você quer se aprofundar no tema, vale entender o impacto no LCP na documentação do Google.

A tabela abaixo resume as diferenças entre Dashicons, Font Awesome Free e SVG inline para ajudar na decisão:

CritérioDashiconsFont Awesome FreeSVG inline
Quantidade de ícones~360~2.000Ilimitado (custom)
Peso do pacote completo~45 KB (woff2)~75 KB (woff2) + ~15 KB CSS0 KB de biblioteca (só o SVG renderizado)
Carregamento no admin WordPressNativo, sem enqueueRequer plugin ou enqueue manualRequer enqueue manual
Carregamento no front-endRequer wp_enqueue_style(‘dashicons’)Requer enqueue manualInline no HTML, sem request extra
Cor via CSS (currentColor)Sim, via colorSim, via colorSim, via fill/currentColor
Recomendado paraMenu admin, CPTs, blocos GutenbergFront-end com 20+ íconesFront-end com ≤5 ícones críticos ao LCP

Em resumo: use Dashicons sem hesitar no admin e em registros de menu. No front-end de um tema com poucos ícones essenciais, avalie SVG inline antes de carregar a fonte inteira globalmente.

Como visualizar a lista completa de Dashicons?

dashicons usage

A maneira mais rápida de explorar todos os ícones é pela página oficial dos Dashicons na seção de Developers do WordPress.org. Lá você consegue filtrar pelo nome ou percorrer a grade visual completa.

Ao clicar em um ícone, ele aparece em destaque com quatro opções de cópia, cada uma útil para um contexto diferente:

  • Nome: a classe do ícone (por exemplo, dashicons-share), usada em parâmetros de funções do WordPress como menu_icon ou no atributo icon de blocos.
  • CSS: o código content com o caractere Unicode (por exemplo, content: "\f237";), aplicado via seletor :before em temas customizados.
  • HTML: a marcação pronta com a classe (por exemplo, <span class="dashicons dashicons-share"></span>), útil para colar direto em templates.
  • Glyph: o glifo para colar diretamente em editores gráficos que reconhecem a fonte, como o Photoshop.

Como adicionar um Dashicon em add_menu_page()?

A função add_menu_page() cria uma página de primeiro nível no menu do painel. O sexto parâmetro, $icon_url, aceita o nome de um Dashicon diretamente. Se você trabalha com desenvolvimento de plugins, esse é um dos usos mais frequentes da fonte.

function exemplo_uso_add_menu_page() {

  add_menu_page(
    'Título da página',
    'Título do menu',
    'nome_da_capability',
    'slug_unico_para_este_menu',
    'function_php_para_exibir_conteudo',
    'dashicons-yes'
  );

}
add_action( 'admin_menu', 'exemplo_uso_add_menu_page' );

Uma nota prática: esse parâmetro também aceita a URL de uma imagem ou um SVG codificado em base64 no formato data:image/svg+xml;base64,.... Use essa alternativa quando nenhum Dashicon representar bem a função do seu plugin. Os detalhes completos estão na documentação da função add_menu_page().

Como definir um Dashicon em register_post_type()?

Ao registrar um Custom Post Type público com register_post_type(), o WordPress cria um item de menu para acessá-lo. O argumento menu_icon define qual Dashicon representa esse menu no painel lateral.

function exemplo_uso_register_post_type() {

  register_post_type(
    'chave_unica_do_cpt',
    array(
      'public'    => true,
      'menu_icon' => 'dashicons-awards'
    )
  );

}
add_action( 'init', 'exemplo_uso_register_post_type' );

Assim como em add_menu_page(), o menu_icon também aceita SVG inline via data:image/svg+xml;base64,.... É a saída ideal quando você precisa de um ícone exclusivo e quer manter a leveza de um vetor. A lista de argumentos aceitos está na referência oficial de register_post_type().

Como carregar Dashicons no front-end do tema?

Por padrão, a fonte só é carregada no admin. Para usar Dashicons no front-end do seu tema, você precisa enfileirar a folha de estilo manualmente. Há duas formas.

A primeira é carregar a fonte de forma autônoma:

function exemplo_dashicons_frontend() {

  wp_enqueue_style( 'dashicons' );

}
add_action( 'wp_enqueue_scripts', 'exemplo_dashicons_frontend' );

A segunda é declarar Dashicons como dependência da sua folha de estilo principal, garantindo a ordem de carregamento correta:

function exemplo_dashicons_dependencia() {

  wp_enqueue_style( 'meu-css', get_stylesheet_uri(), array( 'dashicons' ) );

}
add_action( 'wp_enqueue_scripts', 'exemplo_dashicons_dependencia' );

Depois disso, basta aplicar as classes do ícone na marcação. O uso mais comum em temas customizados é via CSS com o seletor :before, que insere o ícone antes de um elemento sem sujar o HTML:

.meu-link:before {
  font-family: dashicons;
  content: "\f237";
  margin-right: 6px;
}

Quando o ícone é apenas decorativo e o texto ao lado já comunica o significado, marque o span com aria-hidden="true". Isso evita que leitores de tela anunciem um caractere sem sentido, um cuidado de acessibilidade que o Google valoriza em conteúdo técnico:

<span class="dashicons dashicons-share" aria-hidden="true"></span>

Um aviso importante: avalie o impacto no LCP antes de carregar a fonte globalmente. Se você só precisa de dois ou três ícones em páginas-chave, o SVG inline tende a ser mais leve. Carregar a folha de estilo em todas as páginas do site só para exibir um ícone raramente compensa em projetos que levam performance a sério.

Como usar Dashicons no editor de blocos (Gutenberg)?

Ao registrar um bloco customizado com registerBlockType(), o atributo icon aceita uma string com o nome de um Dashicon. É a forma mais simples de dar identidade visual ao seu bloco na barra de inserção.

registerBlockType( 'meu-plugin/meu-bloco', {
  title: 'Meu bloco',
  icon: 'awards',
  category: 'widgets',
  edit: Edit,
  save: Save,
} );

Repare que, no Gutenberg, você informa apenas o nome curto do ícone (awards em vez de dashicons-awards). Se quiser mais controle, é possível passar o componente <Icon> do pacote @wordpress/icons, que já traz uma biblioteca de ícones pensada para o editor.

Quando o ícone do bloco precisa de identidade própria ou não existe entre os Dashicons, o atributo também aceita um elemento SVG inline, o que costuma ser a melhor escolha para blocos de marca. Os detalhes estão no atributo icon na Block API.

Dashicons não aparece: como resolver?

Quando o ícone simplesmente não renderiza, a causa quase sempre está em um destes pontos. Vale checar na ordem abaixo antes de suspeitar de algo mais complexo:

  • Fonte não enfileirada no front-end: o erro mais comum é esquecer o wp_enqueue_style('dashicons'). No admin a fonte é nativa, mas no tema ela precisa ser carregada explicitamente.
  • Nome do ícone errado: um caractere fora do lugar na classe (por exemplo dashicons-award em vez de dashicons-awards) faz o ícone não aparecer. Confirme o nome exato na página oficial dos Dashicons.
  • Cache servindo CSS antigo: o navegador ou um plugin de cache pode estar entregando uma versão anterior da folha de estilo. Limpe o cache do plugin e faça um hard refresh no navegador.
  • Tema desabilitando estilos do core: alguns temas removem estilos padrão do WordPress para otimizar o front-end e acabam derrubando o Dashicons junto. Verifique se há um wp_dequeue_style('dashicons') ativo no seu tema ou plugin.

Perguntas frequentes sobre Dashicons

Dashicons vem ativado por padrão no WordPress?

Sim, no painel administrativo. A fonte é carregada automaticamente em todas as telas do admin desde a versão 3.8, sem necessidade de nenhum enqueue. No front-end, porém, ela não vem ativa por padrão e precisa ser carregada manualmente com wp_enqueue_style('dashicons').

Como mudar a cor de um Dashicon?

Como Dashicons é uma fonte, a cor é controlada pela propriedade CSS color, exatamente como um texto comum. No painel, ícones de menu herdam currentColor automaticamente. Para um ícone específico no front-end, basta aplicar color ao elemento que carrega a classe do Dashicon.

Posso usar Dashicons fora do WordPress?

Sim. A fonte está disponível publicamente e pode ser carregada em qualquer projeto web. Há também uma versão OTF para uso em editores gráficos como o Photoshop: basta instalar a fonte e colar o glifo copiado da página oficial. Ainda assim, fora do ecossistema WordPress, costuma fazer mais sentido optar por bibliotecas SVG modernas.

Dashicons prejudica a performance do site?

No painel administrativo, o impacto é irrelevante, já que a fonte é nativa. No front-end, carregar a folha de estilo adiciona um arquivo woff2 de aproximadamente 45 KB. Para sites com LCP sensível, vale comparar esse peso com a alternativa de SVG inline, que carrega só os ícones realmente renderizados na página.

Qual a diferença entre Dashicons e Font Awesome?

Dashicons é nativo do WordPress, tem cerca de 360 ícones e foca no visual do painel administrativo. Font Awesome é uma biblioteca de terceiros, com cerca de 2.000 ícones na versão gratuita, voltada para o front-end. Para o admin, Dashicons vence pela integração nativa. Para front-ends com muitos ícones diferentes, Font Awesome oferece mais variedade.

Como usar Dashicons no menu do administrador?

No menu do admin, você define o Dashicon passando o nome da classe (por exemplo dashicons-yes) no sexto parâmetro de add_menu_page() ou no argumento menu_icon de register_post_type(). Não é preciso enfileirar nada, porque a fonte já está ativa em todas as telas do painel.

É possível adicionar ícones customizados junto com Dashicons?

Sim. Tanto add_menu_page() quanto register_post_type() aceitam SVG codificado em base64 no formato data:image/svg+xml;base64,... no lugar do nome de um Dashicon. Isso permite misturar ícones nativos com ícones próprios de marca sem carregar bibliotecas externas.

Conclusão

Dashicons resolve a grande maioria das necessidades de ícones no admin do WordPress sem custo de performance e sem plugins. Para menus, Custom Post Types e blocos do Gutenberg, é a escolha natural: nativa, escalável e alinhada visualmente ao painel. No front-end, a regra é medir antes de carregar. Se são poucos ícones críticos, o SVG inline costuma preservar melhor o LCP; se o volume cresce, aí sim vale enfileirar a fonte de forma controlada.

Sua equipe gasta tempo em ajustes de front-end e infraestrutura que travam a publicação de conteúdo e atrasam campanhas? Aqui na Apiki, nosso time cuida da manutenção, performance e evolução técnica do seu WordPress em escala, para que os editores e o marketing foquem no que realmente importa. Conheça o WP Care e tire da frente os gargalos técnicos que dependem da TI interna.

Leandro Vieira

Uma das grandes referências de WordPress no Brasil, entusiasta e evangelista da plataforma. Fundador e CEO da Apiki, empresa especializada no desenvolvimento web com WordPress.
Qual nota você da para este artigo?
Ruim

O que você achou disso?

Clique nas estrelas

Média da classificação 0 / 5. Número de votos: 0

Nenhum voto até agora! Seja o primeiro a avaliar este post.

Excelente
Artigos Relacionados

  1. Maravilha!!!
  2. Queria colocar manualmente no um tema que estou criando

Construa seu site WordPress sob medida com os maiores especialistas em WordPress da America Latina
Conheça a Apiki

Faça um comentário
Cadastre-se rápido

Fazer Login