Como Adicionar Estilos Personalizados ao Editor Visual do WordPress

Já desejou poder criar seus próprios botões de formatação no WordPress, como um estilo de nota especial ou um formato de citação de marca? É exatamente isso que os estilos personalizados fazem.

Passei um tempo considerável testando diferentes abordagens para estilos personalizados no WordPress, desde simples adições de CSS até soluções mais avançadas.

Essa experiência me ajudou a identificar as maneiras mais práticas de melhorar seu editor com opções de formatação personalizadas que qualquer pessoa em sua equipe pode usar.

Hoje, vou guiá-lo sobre como adicionar estilos personalizados ao seu editor visual do WordPress. Você aprenderá o que são estilos personalizados, por que eles são úteis e instruções passo a passo para adicioná-los ao seu site, tudo com base na minha experiência de teste no mundo real.✨

Adicionar Estilos Personalizados ao Editor Visual do WordPress

💡 Resumo Rápido: A Melhor Maneira de Adicionar Estilos Personalizados

A maneira mais eficaz de adicionar estilos personalizados ao editor de blocos do WordPress é adicionando um trecho de código PHP ao seu site. Isso permite registrar novas variações de estilo para blocos como botões, títulos e citações.

Para o método mais seguro e fácil, recomendo usar o plugin WPCode para inserir o código. Isso evita o risco de editar diretamente o arquivo functions.php do seu tema.

Aqui está um breve resumo do que abordarei neste artigo:

Agora vamos mergulhar de cabeça!

O que são estilos personalizados e como eles podem mudar a maneira como você usa o WordPress

Em termos simples, um estilo personalizado é um atalho de formatação pré-projetado dentro do editor do WordPress.

Ele resolve o problema de ajustar manualmente fontes, cores e layouts toda vez que você cria conteúdo, o que pode consumir tempo e levar a inconsistências.

Por exemplo, você pode criar uma fonte personalizada para títulos, escolher uma cor de fundo para caixas de destaque ou aplicar um estilo consistente para depoimentos.

Depoimentos do WPForms

Pense nisso como um modelo para elementos de design. Em vez de ajustar manualmente o espaçamento, fontes ou cores toda vez, você escolhe seu estilo personalizado e ele aplica instantaneamente o seu design preferido.

Por exemplo, digamos que você tenha um blog de negócios e sempre inclua uma recomendação de produto ou um aviso de isenção de responsabilidade no final de seus posts. Em vez de estilizar isso a cada vez, você poderia criar um estilo personalizado chamado 'Dica de Produto' ou 'Nota Importante' e aplicá-lo instantaneamente.

Isso economiza seu tempo e garante que tudo permaneça polido, especialmente se você estiver trabalhando com uma equipe ou publicando muito conteúdo.

Dito isso, vamos dar uma olhada em como adicionar facilmente estilos personalizados ao editor visual do WordPress.

Como adicionar estilos personalizados ao editor visual do WordPress (Editor de Blocos)

Se você deseja adicionar estilos personalizados no editor de blocos, a maneira mais eficaz de fazer isso é usando código PHP. Mas tenha em mente que essa abordagem é mais adequada para usuários intermediários do WordPress.

Isso ocorre porque você precisará editar o arquivo functions.php do seu tema, e até mesmo o menor erro pode quebrar seu site. Dito isso, você pode usar um plugin amigável para iniciantes para simplificar o processo.

Eu sempre recomendo o WPCode para esse tipo de personalização. Na minha opinião, é o melhor plugin de snippets de código para WordPress do mercado. Eu o testei completamente e descobri que é a maneira mais fácil e segura de adicionar código personalizado sem o risco de erros.

Para saber mais, confira a análise completa do WPCode da minha equipe.

📌 Nota Importante: Independentemente do seu nível de habilidade, sempre recomendo criar um backup completo do seu site antes de mexer em qualquer código importante. Veja nosso guia sobre como fazer backup do seu site WordPress para instruções sobre como fazer isso.

Tenha em mente que o trecho de código que usarei está configurado por padrão para adicionar estilos personalizados para o bloco de Botão. Mas com apenas alguns pequenos ajustes, você pode usá-lo facilmente para suportar outros blocos como:

  • 🔷 Títulos com estilos elaborados ou contornados
  • 💬 Blocos de Citação, Citação em Destaque e Verso
  • 🗂️ Blocos de Arquivos ou Categorias
  • ➕ E mais

Isso lhe dá muita flexibilidade para projetar estilos reutilizáveis em todo o seu site.

Primeiro, você precisa instalar e ativar o plugin WPCode. Se precisar de ajuda, consulte nosso guia para iniciantes sobre como instalar um plugin do WordPress.

📌 Observação: O WPCode também tem um plano gratuito que você pode usar. No entanto, a atualização para a versão pro lhe dá acesso a recursos como uma biblioteca na nuvem de snippets de código, recurso de snippet de bloco, lógica condicional inteligente e muito mais.

Assim que ativar o plugin, vá para a página Code Snippets » +Add Snippet no painel. Aqui, clique no botão ‘Use Snippet’ em ‘Add Your Custom Code (New Snippet)’.

Escolha a opção 'Adicionar seu código personalizado (Novo Snippet)'

Isso o levará para a página ‘Create Custom Snippet’, onde você terá que nomear seu snippet de código. Este nome será apenas para sua identificação e não será mostrado a nenhum usuário.

Em seguida, escolha PHP Snippet no prompt que aparece após clicar na opção ‘Code Type’ no canto direito.

Escolhendo snippet PHP no WPCode

Depois disso, se você quiser criar um estilo personalizado para um botão, adicione o seguinte código personalizado na caixa ‘Code Preview’.

// Function to enqueue and register styles for both frontend and editor
function my_custom_button_styles() {
    // Register the style only once
    wp_register_style(
        'my-custom-button-styles',
        false
    );

    // Add inline styles
    wp_add_inline_style(
        'my-custom-button-styles',
        <<<CSS
        .is-style-fancy-button .wp-block-button__link {
            background-color: #f0c040;
            color: #fff;
            border: none;
            border-radius: 15px;
            padding: 10px 20px;
        }
        .is-style-outline-button .wp-block-button__link {
            background-color: transparent;
            color: #333;
            border: 2px solid #333;
            border-radius: 5px;
            padding: 10px 20px;
        }
        CSS
    );
    
    // Enqueue the style for both frontend and editor
    wp_enqueue_style('my-custom-button-styles');
}

// Function to add custom styles for Gutenberg editor
function my_custom_gutenberg_button_styles() {
    // Call the general styles function for the editor
    my_custom_button_styles();

    // Enqueue inline script for the editor to register block styles
    wp_add_inline_script(
        'wp-blocks',
        <<<JS
        wp.domReady(function() {
            wp.blocks.registerBlockStyle('core/button', {
                name: 'fancy-button',
                label: 'Fancy Button'
            });

            wp.blocks.registerBlockStyle('core/button', {
                name: 'outline-button',
                label: 'Outline Button'
            });
        });
        JS
    );
}

// Hook the styles function to frontend
add_action('wp_enqueue_scripts', 'my_custom_button_styles');

// Hook the custom block style registration
add_action('enqueue_block_editor_assets', 'my_custom_gutenberg_button_styles');

Este snippet de código adiciona dois estilos personalizados ao bloco Buttons no WordPress.

A grande vantagem é que você pode adaptar este código para criar estilos para outros blocos também. No entanto, isso requer um pouco mais do que apenas trocar a palavra 'botão'. Para que funcione corretamente, você precisa atualizar duas partes principais do código:

  • O Nome do Bloco (Slug): Na parte JavaScript do código, você encontrará 'core/button'. Este é o nome oficial do bloco Botão do WordPress. Você precisa substituí-lo pelo slug do bloco que deseja estilizar (por exemplo, 'core/heading').
  • Os Seletores CSS: O código CSS (como .is-style-fancy-button .wp-block-button__link) é escrito especificamente para o HTML do bloco Botão. Outros blocos têm uma estrutura diferente, então você precisará escrever novas regras CSS para direcioná-los corretamente.
Substituir Botão por qualquer outro nome de bloco

Você também pode ajustar o CSS para alterar a cor de fundo, ajustar o raio da borda e fazer outras alterações de estilo para atender às suas necessidades.

💡 Dica de Especialista: Se você hesita em personalizar o código sozinho, um assistente de IA como o ChatGPT pode ser um bom ponto de partida. No entanto, obter o código correto requer dar a ele um prompt muito claro e detalhado.

Por exemplo, em vez de um pedido simples, você poderia fornecer um prompt como este:

Here is a PHP, CSS, and JS snippet that adds custom styles to the 'core/button' block in WordPress. Please adapt it to target the 'core/heading' block instead. The new style should be named 'Green Highlight' and it should add a light green background color.

No entanto, recomendo sempre testar o código gerado por IA em um site de staging antes de adicioná-lo ao seu site principal. Isso permite que você identifique quaisquer erros potenciais sem risco.

Agora, vá em frente e alterne o interruptor de ‘Inativo’ para ‘Ativo’.

Finalmente, clique no botão ‘Salvar Trecho’ para armazenar suas alterações.

Ativar e salvar o snippet de estilos personalizados

Em seguida, abra uma postagem no editor de blocos e adicione o bloco para o qual você adicionou estilos personalizados.

Por exemplo, se você adicionou estilos personalizados para o bloco de Botões, vá em frente e insira-o em sua postagem.

Assim que fizer isso, você verá os estilos personalizados disponíveis na seção ‘Estilos’ no painel do bloco.

Adicionar estilos personalizados no editor de blocos

Depois disso, clique no botão 'Atualizar' ou 'Publicar' para salvar suas alterações.

Em seguida, visite seu site WordPress para ver os estilos personalizados em ação.

Prévia de Estilos Personalizados

Bônus: Como adicionar estilos personalizados a widgets do WordPress

Agora que você aprendeu como adicionar estilos personalizados ao editor visual do WordPress, vamos ver outra personalização útil: adicionar estilos personalizados aos widgets do WordPress.

Personalizar widgets com cores, fontes ou layouts exclusivos ajuda a garantir que eles correspondam ao design geral do seu site, melhorando a experiência do usuário.

Widget de bloco com prévia de estilo personalizado

A maneira mais fácil de adicionar estilos personalizados aos widgets do WordPress é usando um trecho de código CSS, que você pode adicionar com um plugin como o WPCode.

Você pode simplesmente adicionar CSS personalizado que segmenta widgets específicos e ajustar coisas como tamanhos de fonte, cores de fundo, preenchimento e até mesmo bordas.

CSS Personalizado para estilizar widgets do WordPress

Isso é perfeito para garantir que seus widgets correspondam ao seu design geral sem ter que se tornar muito técnico.

Para começar, veja nosso tutorial sobre como adicionar estilos personalizados a widgets do WordPress.

Perguntas Frequentes Sobre Estilos Personalizados

Aqui estão algumas perguntas que nossos leitores fizeram com frequência sobre como adicionar estilos personalizados ao editor visual do WordPress:

Posso adicionar estilos personalizados sem usar um plugin?

Sim, é possível adicionar o código diretamente ao arquivo functions.php do seu tema. No entanto, eu fortemente desaconselho este método para iniciantes.

Um pequeno erro nesse arquivo pode quebrar seu site, e suas personalizações serão perdidas quando você atualizar seu tema. Usar o WPCode é a abordagem mais segura e confiável.

Esses estilos personalizados funcionarão com qualquer tema do WordPress?

Geralmente, sim. O código usado neste tutorial registra estilos no editor principal do WordPress, portanto, deve ser compatível com qualquer tema moderno e bem codificado.

Em casos raros, um tema com CSS muito agressivo ou mal escrito pode substituir seus estilos personalizados, mas isso não é comum.

Como encontro o nome correto (slug) para outros blocos que quero estilizar?

Uma maneira fácil de encontrar o slug de um bloco é ir ao editor do WordPress, selecionar o bloco de seu interesse e, em seguida, clicar no menu de três pontos na barra de ferramentas do bloco.

Na parte inferior desse menu, clique em 'Copiar tipo de bloco'. Isso copiará o slug do bloco (por exemplo, core/image, core/quote) para a sua área de transferência, que você poderá colar no snippet de código.

Posso criar mais de dois estilos personalizados para o mesmo bloco?

Absolutamente. Na parte JavaScript do snippet de código, você pode simplesmente duplicar a função wp.blocks.registerBlockStyle(...) para cada novo estilo que deseja adicionar.

Apenas certifique-se de dar a cada um um nome e rótulo únicos. Você também precisará adicionar regras CSS correspondentes para cada novo estilo que registrar.

Espero que este artigo tenha ajudado você a aprender como adicionar estilos personalizados no editor visual do WordPress. Você também pode querer ver nosso guia para iniciantes sobre como criar um bloco personalizado no WordPress e nossa comparação entre padding e margin no WordPress.

Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.

Aviso: Nosso conteúdo é apoiado pelos leitores. Isso significa que, se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

49 CommentsLeave a Reply

  1. Este artigo deve ser atualizado com o Gutenberg em mente, pois esse tipo de funcionalidade foi adicionado recentemente à API de Texto Rico.

  2. Isso adiciona classes a uma tag p, não é?
    Existe uma maneira de criar tags próprias?
    Ou outra coisa: um Formato personalizado escolhido substituirá uma tag h escolhida anteriormente por um p? Seria necessário para evitar que um cliente se meta em apuros quando ele clicar nos estilos padrão E personalizados.

  3. Infelizmente, isso não me ajudou em nada. Existe algum artigo que explique o que cada um dos campos que você precisa preencher significa?

    Tudo o que preciso é uma maneira de aplicar a mesma formatação a citações nas páginas de notas do meu podcast. Cada citação tem a mesma fonte (que configurei como um estilo de título), em negrito e centralizada.

    Cansado de aplicar manualmente cada parte da formatação a cada citação e apenas uma maneira de clicar em um botão e pronto.

  4. MUITO OBRIGADO POR ISSO!!! OMG!!!! Que útil ao entregar um site para um cliente que quer poder adicionar seu próprio conteúdo com base em nosso design!

  5. Olá, eu desenvolvo WordPress todos os dias e faço tudo com WP, mas este trecho de código é um dos mais úteis que vi em muito tempo… É exatamente o que o editor WYSIWYG padrão estava (agora posso dizer: estava) faltando! Ele permite fazer coisas incríveis dentro do campo de conteúdo. Obrigado por compartilhar!

  6. Eu tenho usado este plugin há algum tempo, mas ele não está mais disponível no wordpress.org — aparentemente não é mais atualizado ou suportado. Alguém está ciente de alguma alternativa além do método manual que você descreve?

  7. Eu quero adicionar p em vez de span. Mas quando eu mudo o nome do bloco span para p, não funciona.

    ‘title’ => ‘Nota’, ‘block’ => ‘p’, ‘classes’ => ‘nota’, ‘wrapper’ => true,

  8. Achei isso realmente útil e sinto que quase consegui, mas ainda não está funcionando. Meu texto é devidamente marcado com as tags span e class no editor quando selecionado – mas nenhum dos estilos que coloquei na folha de estilos está sendo aplicado à nota publicada.

  9. Eu sempre fico nervoso e sinto vontade de vomitar se algum cliente precisa de ajustes no WordPress. Legal, este menu suspenso de estilos, MAS, como alguém disse antes, completamente inútil se os estilos não puderem ser removidos depois e apenas se acumularem, se acumularem, se acumularem...

    Estou acostumado com essas soluções pela metade no WordPress – normalmente também há soluções complementares pela metade para consertar a primeira. Mas aqui?

    Como você sugere REMOVER ESTILOS PERSONALIZADOS adicionados através do menu suspenso de estilos. A visualização de código de forma alguma é aceitável para o meu cliente?

    Eu seria incrivelmente sortudo se alguém tivesse encontrado uma maneira de fazer isso e compartilhasse esse conhecimento (e por tirar a catástrofe chamada wordpress do meu alcance por (espero) um longo tempo).

    Muito obrigado desde já!

    Frank

  10. Eu testei este plugin, mas percebi que, quando você altera um estilo personalizado, ele não atualiza aqueles que você já inseriu. Você tem que voltar e inseri-los novamente, porque o recurso adiciona o estilo inline e não via folha de estilo.

  11. Obrigado pelo tutorial útil. Existe alguma penalidade de desempenho em usar o plugin em vez de codificá-lo manualmente? Obrigado,

    • Não, mas para reutilizar elementos, este método é bastante útil. Também é útil se você estiver construindo um site para um cliente e quiser que ele possa adicionar coisas do editor visual.

      Admin

    • Ok, seus comentários convertem HTML. Quero dizer, eu gostaria de obter as marcações 'h1' e 'span' em torno do meu texto clicando em apenas um estilo.

  12. Consegui fazer as classes personalizadas e os elementos são exibidos com as classes corretas no editor de texto e na página, mas a classe não é aplicada no editor visual, o que torna muito pouco claro se funcionou ou não para o usuário. Existe alguma maneira de corrigir isso?

  13. Adicionei dois estilos personalizados. Quando vou editar uma página, tenho dois menus de Formato, cada um com as mesmas entradas (os dois estilos que criei). Quando tento aplicar esses estilos, nada acontece. Posso ver a tag na visualização de Texto, mas quando visualizo a página – o estilo não foi aplicado.

    Alguma sugestão? Preciso resolver isso para um cliente que atualizará este site WP e não é muito experiente.

    • Tive o mesmo problema, onde as tags não eram aplicadas ao código. Corrigi definindo 'wrapper' como 'false'. Não sei os motivos técnicos, apenas testei e funcionou. Espero que ajude!

      • Tive o mesmo problema que a folha de estilo não está sendo gravada.
        Solução
        Se você já tem essas folhas de estilo de gravação no arquivo functions.php, deve adicionar diretamente lá a stylesheet custom-editor-style.css

        Exemplo:

        function styles_theme(){ wp_enqueue_style(‘bootstrap_css’, get_template_directory_uri() . ‘/sources/bootstrap/bootstrap.min.css’); wp_enqueue_style(‘main_css’, get_template_directory_uri() . ‘/style.css’); wp_enqueue_style(‘theme_css’, get_template_directory_uri() . ‘/custom/css/theme.css’); wp_enqueue_style(‘editor_css’, get_template_directory_uri() . ‘/custom-editor-style.css’); // AQUI };

  14. Usei isso e também tive o problema de que o estilo/classe é implementado em todo o Parágrafo. Isso ocorre porque você definiu o formato do estilo como "bloco". (‘block’ => ‘span’,).

    Visitando rapidamente o codex oficial do Wordpress, descobre muito mais opções para formatação de estilo.

    http://codex.wordpress.org/TinyMCE_Custom_Styles

    Como span é um estilo inline por padrão, você deve substituir ‘block’ por ‘inline’, e pronto! Seu estilo deve funcionar como esperado.

    então, em resumo:

    array(
    ‘title’ => ‘Seu Título’,
    ‘inline’ => ‘span’,
    ‘classes’ => ‘sua-classe’,
    ‘wrapper’ => true,
    ),

  15. Olá,
    ótimo tutorial, obrigado por isso! Eu também tenho o problema de que o estilo (uma span) é aplicado a todo o parágrafo. O que pretendo fazer: Escrever um título e formatá-lo como título 1, depois marcar apenas uma palavra específica dentro desse título para adicionar um estilo personalizado. Alguma atualização sobre como corrigir isso? Obrigado!

  16. eu também tenho o problema de que ele aplica o estilo a todo o parágrafo, não apenas ao elemento selecionado. alguma atualização sobre isso? obrigado!

  17. Encontro alguns problemas. Parece funcionar, mas não como esperado. Não servirá para alguém que não sabe codificar.

    1. Destaque uma única palavra em um parágrafo para adicionar um estilo, mas o estilo é adicionado a todo o parágrafo, não apenas à palavra destacada.
    2. Nenhuma maneira de remover o CSS sem editar o código. Meu cliente não mexe com código! Tentei até criar uma classe .nada, mas a nova classe é apenas adicionada a outras, não substitui a classe existente.

  18. Olá, tenho um erro ao adicionar mídia. Quando tento carregar qualquer mídia, ela fica apenas carregando e não mostra nenhuma mídia e não consigo carregar mídia……………Me diga qual é o erro aqui???

    Mas isso está funcionando bem…………apenas erro no uploader de mídia. por favor, me dê essa solução.

  19. Olá. Obrigado por este ótimo tutorial. Tenho um problema com conteúdo que já está no editor. Se eu marcar uma palavra ou parte de um texto e escolher um estilo (por exemplo, "botão azul" – do seu código), ele não envolve apenas a palavra ou parte do texto marcada. Em vez disso, ele envolve todo o conteúdo e coloca um span com a classe .blue button nele. Tentei várias vezes com outras páginas e posts – sempre o mesmo: se o conteúdo já estava lá e eu o marquei, todo o conteúdo recebe a classe span. Isso não acontece se eu envolver um texto recém-editado na página/post – então tudo funciona bem. Mais alguém tem esse fenômeno?
    Obrigado,
    Ute

  20. Olá. Tentei este método e funciona perfeitamente, exatamente o que eu estava procurando, obrigado. Eu só quero saber se há uma maneira de adicionar estilos a uma subpasta em vez de apenas adicioná-los sob um botão de formato. Por exemplo, adicionar uma subpasta de títulos com todos os estilos de título, adicionar um submenu div com estilos div, etc.

  21. Obrigado!
    É ótimo mostrar 2 métodos também... meus clientes se encolhem de medo ao lidar com qualquer código.

    I will sometimes use custom fields to “force” safe additional styles, but the TinyMCE can be handled by some people, so I’ll kee that in mind. :)

    Ciao, Dave

        • Claro. Funções:

          /*
          * Função de callback para filtrar as configurações do MCE
          */

          function my_mce_before_init_insert_formats( $init_array ) {

          // Define o array style_formats

          $style_formats = array(
          // Cada filho do array é um formato com suas próprias configurações
          array(
          ‘title’ => ‘Alerta’,
          ‘block’ => ‘span’,
          ‘classes’ => ‘entry p.alert-blue’,
          ‘wrapper’ => true,

          ),
          array(
          ‘title’ => ‘Alerta Azul’,
          ‘block’ => ‘p’,
          ‘classes’ => ‘alert-blue’,
          ‘wrapper’ => true,
          ),
          array(
          ‘title’ => ‘Botão Azul’,
          ‘block’ => ‘span’,
          ‘classes’ => ‘alert-blue-button’,
          ‘wrapper’ => true,
          ),
          );
          // Insere o array, codificado em JSON, em ‘style_formats’
          $init_array[‘style_formats’] = json_encode( $style_formats );

          return $init_array;

          }
          // Anexa o callback a ‘tiny_mce_before_init’
          add_filter( ‘tiny_mce_before_init’, ‘my_mce_before_init_insert_formats’ );

          CSS

          .alert-blue { background: none repeat scroll 0 0 #E7F4FD; border: 1px solid #C5D7E3; color: #3A5971; font-size: 18px; line-height: 24px; text-align: center; margin: 0 0 15px !important; padding: 15px 25px; width: auto; }

  22. Você adicionou o CSS na sua folha de estilos?

    Certifique-se de que as regras de estilo que você adiciona ao seu CSS correspondam às classes que você adiciona na função de Callback para filtrar as configurações do MCE.

  23. Estou tentando fazer isso com um bloco e não estou tendo sucesso. O código é:

    array(
    ‘title’ => ‘Alerta Azul’,
    ‘block’ => ‘p’,
    ‘classes’ => ‘.alert-blue’,
    ‘wrapper’ => true,
    ),

    Funciona quando uso span, mas isso exige uma classe span, que não posso usar.

    Quando uso o código acima, nada acontece no editor do wp. Eu seleciono o texto, clico na opção de formatação Alerta Azul e nada acontece: http://screencast.com/t/dijujZ2ZdqBy

    Algum conselho?

Deixe uma resposta

Obrigado por escolher deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.