2026年11月12日
2026年11月12日
Meta box não aparece no WordPress: como resolver
Este artigo é uma edição localizada do original em japonês. Ler o original em japonês
Introdução
O meta box adicionado por um plugin não aparece na tela de edição de posts, um meta box que antes estava visível desapareceu de repente, ou os meta boxes da barra lateral deixaram de aparecer depois de mudar para o editor de blocos. A ausência de um meta box tem a ver com as opções de tela e com a compatibilidade com o editor de blocos.
Sintomas e causas
Principais causas para um meta box não aparecer:
- Oculto nas Opções da tela: a configuração de exibição de cada usuário está como "oculto"
- Incompatibilidade com o editor de blocos: é preciso configurar
__block_editor_compatible_meta_box - Problema de prioridade do hook: o momento do hook
add_meta_boxesnão está adequado - Tipo de post indicado errado: o tipo de post do terceiro argumento está incorreto
- Conflito entre plugins: outro plugin está removendo o meta box
Passo a passo da solução
Passo 1: verifique as Opções da tela
A causa mais comum é a configuração de ocultação nas Opções da tela.
1. Clique em "Opções da tela" (Screen Options), no canto superior direito da tela de edição de posts
2. Verifique se a caixa do meta box que você quer exibir não está desmarcada
3. Marque a caixa e feche o painel; o meta box passa a aparecer
Passo 2: confira a implementação do add_meta_box
// functions.php: adiciona o meta box corretamente
add_action('add_meta_boxes', function() {
add_meta_box(
'my_meta_box_id', // ID (string única)
'Informações extras', // título
'render_my_meta_box', // função de callback
['post', 'page'], // tipo de post (vários, em array)
'normal', // contexto: normal/side/advanced
'high' // prioridade: high/core/default/low
);
});
function render_my_meta_box($post) {
wp_nonce_field('my_meta_nonce_action', 'my_meta_nonce');
$value = get_post_meta($post->ID, '_my_field', true);
echo '<input type="text" name="my_field" value="' . esc_attr($value) . '">';
}
Passo 3: exiba o meta box no editor de blocos
O editor de blocos (Gutenberg) tem suporte limitado a meta boxes.
// Exibe o meta box também no editor de blocos
add_action('add_meta_boxes', function() {
add_meta_box(
'my_meta_box_id',
'Informações extras',
'render_my_meta_box',
'post',
'normal',
'high',
// Indica explicitamente a compatibilidade com o editor de blocos
['__block_editor_compatible_meta_box' => true]
);
});
Passo 4: desative o editor de blocos para testar
// functions.php: desativa o editor de blocos em um tipo de post específico
add_filter('use_block_editor_for_post_type', function($use_block_editor, $post_type) {
if ($post_type === 'post') {
return false; // muda para o editor clássico
}
return $use_block_editor;
}, 10, 2);
Também é possível instalar o plugin "Classic Editor" e configurá-lo pelo painel de administração.
Passo 5: depure a exibição do meta box
// Verifica se o meta box está registrado
add_action('add_meta_boxes', function() {
global $wp_meta_boxes;
error_log('Meta boxes: ' . print_r(array_keys($wp_meta_boxes), true));
}, 999); // prioridade 999: executa por último
Passo 6: verifique conflitos entre plugins
# Desative todos os plugins com o WP-CLI e verifique o meta box
wp plugin deactivate --all
# Abra a tela de edição de posts no navegador e veja se o meta box aparece
# Se estiver tudo certo, reative os plugins um a um para identificar o culpado
wp plugin activate plugin-name
Passo 7: redefina o user meta
As configurações das Opções da tela ficam salvas no user meta.
// Redefine a exibição dos meta boxes de um usuário específico
delete_user_meta(get_current_user_id(), 'metaboxhidden_post');
delete_user_meta(get_current_user_id(), 'metaboxhidden_page');
Observações
- As configurações das Opções da tela são salvas por usuário. Os outros usuários precisam configurar separadamente.
- No editor de blocos, apenas os meta boxes do contexto
sideaparecem na barra lateral. - Se você usa o ACF (Advanced Custom Fields), é preciso configurar o grupo de campos para ser compatível com o editor de blocos.
Resumo
Se um meta box não aparecer, comece verificando as caixas das "Opções da tela". No editor de blocos, é preciso configurar __block_editor_compatible_meta_box. Se mesmo assim não resolver, isole um possível conflito entre plugins. Artigos relacionados: Quando o campo personalizado não é salvo, Quando o editor de blocos trava
Dúvidas sobre WordPress? Quem publica este site fica no Japão e responde em japonês. Contato (em japonês)