...

Como Trocar Checkboxes de Categorias por Radio Buttons no WordPress

Você já se perguntou como limitar a seleção de categorias em um post do WordPress para apenas uma? Por padrão, o editor permite marcar várias caixinhas de uma vez, mas em muitos casos — como em blogs com categorias muito específicas — faz mais sentido que o autor selecione apenas uma opção. Neste artigo, você vai aprender a forçar essa regra de forma simples e eficaz.

O Problema: Múltiplas Categorias e Confusão de Conteúdo

Por que limitar a escolha de categorias? Existem vários motivos. Para muitos sites, o conteúdo se encaixa em apenas uma área. Por exemplo, em um blog de tecnologia, um artigo sobre “novos smartphones” pode ir para a categoria “Mobile”, mas raramente também para “Software”. Marcar várias categorias ao mesmo tempo pode:

  • Gerar conteúdo duplicado: O mesmo artigo aparece em duas ou mais páginas de categoria, o que pode confundir o Google e outros motores de busca.
  • Reduzir a clareza do tópico: Se um post está em “Receitas” e “Viagens”, o usuário fica sem saber qual é o foco principal.
  • Prejudicar a navegabilidade: O menu de navegação de categorias se torna menos útil se todos os posts se misturam.

A Solução: Forçar a Escolha Única com Radio Buttons

Em vez de deixar o usuário tentar selecionar várias categorias e depois “punir” o post com um erro, a abordagem mais amigável é mudar a interface do editor. Se você trocar os checkboxes por radio buttons, o usuário já entende visualmente que só pode escolher uma opção, já que, por natureza, um radio button só permite uma seleção.

Isso evita frustração e torna o processo de postagem muito mais intuitivo para o autor.

O Código: Transformando Checkboxes em Radio Buttons

Para fazer a mágica acontecer, basta adicionar um pequeno trecho de código JavaScript que vai ser executado no painel do WordPress. Este script detecta as caixinhas de categoria e as transforma em bolinhas de seleção única.

Você pode colocar este código no arquivo functions.php do seu tema filho (recomendado para não perder a alteração em atualizações) ou usar um plugin de snippets, como o Code Snippets.

/**  * Transforma checkboxes de categoria em radio buttons.  *  * @link https://exemplo.com.br/blog/trocar-checkbox-por-radio  */ add_action('admin_footer', function() {     global $pagenow;     if (in_array($pagenow, ['post.php', 'post-new.php'])) {         ?>         <script>         jQuery(document).ready(function($){             var $categoryChecklist = $('#categorychecklist input[type="checkbox"]');                          // Verifica se a caixa de categorias existe             if ($categoryChecklist.length) {                 // Converte cada checkbox em radio button                 $categoryChecklist.each(function(){                     $(this).attr('type','radio');                 });                  // Adiciona um aviso visual para o usuário                 $('#taxonomy-category label').first().after('<p style="font-style: italic; font-size: 13px; color: #777;">Escolha apenas uma categoria.</p>');             }         });         </script>         <?php     } });

O que o código faz:

  • add_action(‘admin_footer’, …): Dispara a função no rodapé do painel de administração, garantindo que os elementos HTML já foram carregados.
  • if (in_array($pagenow, [‘post.php’, ‘post-new.php’])): Garante que o script só será executado nas telas de edição e criação de posts, evitando que afete outras partes do seu site.
  • $(‘#categorychecklist input[type=”checkbox”]’): Este seletor jQuery encontra todos os campos de input do tipo “checkbox” dentro da lista de categorias.
  • $(this).attr(‘type’,’radio’): Esta linha é o coração do snippet. Para cada checkbox encontrado, ela altera o atributo type para radio.
  • Adiciona um aviso visual: A última linha adiciona uma pequena mensagem abaixo do título da seção de categorias, reforçando a regra para o usuário.
  • Após adicionar e salvar este código, basta ir para a tela de edição de qualquer post. Você verá que as caixinhas de seleção foram substituídas por botões de seleção única.

Dica de SEO: Combine com Validação de Back-end

Mesmo com a mudança visual para radio buttons, é sempre uma boa prática adicionar uma camada extra de segurança. Um outro snippet de código, que funciona no back-end, pode garantir que, mesmo se alguém tentar manipular a requisição para salvar mais de uma categoria, o sistema só manterá a primeira selecionada.

#Leia mais sobre isso em nosso próximo artigo: Como Tornar a Seleção de Categoria Obrigatória no WordPress.

Conclusão: UX e SEO em Sinergia

Ao implementar este código, você não apenas melhora a experiência do usuário para quem gerencia o conteúdo do seu site, mas também aplica uma regra que beneficia o SEO do seu blog. Manter uma estrutura de categorias limpa e bem definida é fundamental para que os motores de busca entendam a relevância de cada página e para que seus visitantes encontrem o que procuram mais facilmente.

Qual outro desafio de WordPress e Elementor você gostaria de ver em um de nossos artigos?

outros posts

Seraphinite AcceleratorOptimized by Seraphinite Accelerator
Turns on site high speed to be attractive for people and search engines.