2026年11月12日
2026年11月12日
Metabox de WordPress que no aparece: causas y soluciones
Este artículo es una edición localizada del original en japonés. Leer el original en japonés
Introducción
Un metabox (meta box) añadido con un plugin no aparece en la pantalla de edición de entradas, un metabox que antes se veía ha desaparecido de repente, o al cambiar al editor de bloques ya no salen los metaboxes de la barra lateral. Que un metabox no se muestre tiene que ver con los ajustes de pantalla y con la compatibilidad con el editor de bloques.
Síntomas y causas
Principales causas por las que un metabox no se muestra:
- Oculto en Opciones de pantalla: el ajuste de visualización de cada usuario está en «oculto»
- Incompatibilidad con el editor de bloques: hace falta el ajuste
__block_editor_compatible_meta_box - Problema de prioridad del hook: el momento en que se ejecuta el hook
add_meta_boxesno es el adecuado - Tipo de contenido mal indicado: el tipo de contenido del tercer argumento es incorrecto
- Conflicto entre plugins: otro plugin elimina el metabox
Pasos para solucionarlo
Paso 1: comprueba las Opciones de pantalla
La causa más frecuente es que el metabox esté oculto en las Opciones de pantalla.
1. Haz clic en «Opciones de pantalla» (Screen Options), arriba a la derecha de la pantalla de edición de entradas
2. Comprueba que no esté desmarcada la casilla del metabox que quieres ver
3. Marca la casilla y cierra el panel: el metabox aparecerá
Paso 2: revisa la implementación de add_meta_box
// functions.php — añade el metabox correctamente
add_action('add_meta_boxes', function() {
add_meta_box(
'my_meta_box_id', // ID (cadena única)
'Información personalizada', // Título
'render_my_meta_box', // Función de callback
['post', 'page'], // Tipo de contenido (puedes indicar varios en una matriz)
'normal', // Contexto: normal/side/advanced
'high' // Prioridad: 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) . '">';
}
Paso 3: muestra el metabox en el editor de bloques
El editor de bloques (Gutenberg) tiene un soporte limitado de los metaboxes.
// Muestra el metabox también en el editor de bloques
add_action('add_meta_boxes', function() {
add_meta_box(
'my_meta_box_id',
'Información personalizada',
'render_my_meta_box',
'post',
'normal',
'high',
// Indica de forma explícita la compatibilidad con el editor de bloques
['__block_editor_compatible_meta_box' => true]
);
});
Paso 4: desactiva el editor de bloques para comprobarlo
// functions.php — desactiva el editor de bloques en un tipo de contenido concreto
add_filter('use_block_editor_for_post_type', function($use_block_editor, $post_type) {
if ($post_type === 'post') {
return false; // Cambia al editor clásico
}
return $use_block_editor;
}, 10, 2);
También puedes instalar el plugin «Classic Editor» y configurarlo desde el administrador.
Paso 5: depura la visualización del metabox
// Comprueba si el metabox 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); // Con prioridad 999 se ejecuta al final
Paso 6: comprueba los conflictos entre plugins
# Desactiva todos los plugins con WP-CLI y comprueba el metabox
wp plugin deactivate --all
# Abre la pantalla de edición de entradas en el navegador y comprueba si aparece el metabox
# Si todo va bien, activa los plugins uno a uno para identificar el culpable
wp plugin activate plugin-name
Paso 7: restablece los metadatos del usuario
Los ajustes de Opciones de pantalla se guardan en los metadatos del usuario.
// Restablece los ajustes de visualización de metaboxes de un usuario concreto
delete_user_meta(get_current_user_id(), 'metaboxhidden_post');
delete_user_meta(get_current_user_id(), 'metaboxhidden_page');
Precauciones
- Los ajustes de Opciones de pantalla se guardan por usuario. Los demás usuarios tienen que configurarlos por separado.
- En el editor de bloques, solo los metaboxes del contexto
sidese muestran en la barra lateral. - Si usas ACF (Advanced Custom Fields), necesitas una configuración del grupo de campos compatible con el editor de bloques.
Resumen
Si un metabox no se muestra, empieza por comprobar las casillas de «Opciones de pantalla». En el editor de bloques es necesario el ajuste __block_editor_compatible_meta_box. Si aun así no se resuelve, aísla el conflicto entre plugins. Artículos relacionados: Qué hacer si los campos personalizados no se guardan y Qué hacer si el editor de bloques se bloquea
¿Dudas sobre WordPress? Quien publica este sitio está en Japón y responde en japonés. Contacto (en japonés)