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?