2026年11月12日
2026年11月12日
Metabox wordt niet getoond in WordPress: zo los je het op
Dit artikel is een gelokaliseerde versie van het Japanse origineel. Lees het Japanse origineel
Inleiding
Een metabox die je met een plugin hebt toegevoegd verschijnt niet in het bewerkscherm, een metabox die eerst zichtbaar was is ineens weg, of na het overschakelen naar de blokeditor komt de metabox in de zijbalk niet meer tevoorschijn. Bij een verborgen metabox spelen de scherminstellingen en de compatibiliteit met de blokeditor een rol.
Symptomen en oorzaken
De belangrijkste oorzaken waarom een metabox niet wordt getoond:
- Verborgen in Schermopties: de weergave-instelling van de gebruiker staat op "verborgen"
- Niet compatibel met de blokeditor: de instelling
__block_editor_compatible_meta_boxis nodig - Probleem met de prioriteit van de hook: de timing van de hook
add_meta_boxesklopt niet - Verkeerd berichttype opgegeven: het berichttype in het derde argument is onjuist
- Pluginconflict: een andere plugin verwijdert de metabox
Oplossing
Stap 1: Schermopties controleren
De meest voorkomende oorzaak is dat de metabox in Schermopties is verborgen.
1. Klik rechtsboven in het bewerkscherm van een bericht op "Schermopties" (Screen Options)
2. Controleer of het vinkje bij de metabox die je wilt zien niet is uitgezet
3. Zet het vinkje aan en sluit het paneel, dan wordt de metabox getoond
Stap 2: de implementatie van add_meta_box controleren
// functions.php: een metabox correct toevoegen
add_action('add_meta_boxes', function() {
add_meta_box(
'my_meta_box_id', // ID (unieke tekenreeks)
'Aangepaste info', // Titel
'render_my_meta_box', // Callbackfunctie
['post', 'page'], // Berichttype (je kunt er meerdere opgeven in een array)
'normal', // Context: normal/side/advanced
'high' // Prioriteit: 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) . '">';
}
Stap 3: de metabox tonen in de blokeditor
In de blokeditor (Gutenberg) is de ondersteuning voor metaboxen beperkt.
// Toon de metabox ook in de blokeditor
add_action('add_meta_boxes', function() {
add_meta_box(
'my_meta_box_id',
'Aangepaste info',
'render_my_meta_box',
'post',
'normal',
'high',
// Geef expliciet aan dat de metabox compatibel is met de blokeditor
['__block_editor_compatible_meta_box' => true]
);
});
Stap 4: de blokeditor uitschakelen om te controleren
// functions.php: schakel de blokeditor uit voor een bepaald berichttype
add_filter('use_block_editor_for_post_type', function($use_block_editor, $post_type) {
if ($post_type === 'post') {
return false; // Overschakelen naar de klassieke editor
}
return $use_block_editor;
}, 10, 2);
Je kunt ook de plugin "Classic Editor" installeren en dat vanuit het beheer instellen.
Stap 5: de weergave van de metabox debuggen
// Controleer of de metabox is geregistreerd
add_action('add_meta_boxes', function() {
global $wp_meta_boxes;
error_log('Meta boxes: ' . print_r(array_keys($wp_meta_boxes), true));
}, 999); // Prioriteit 999: wordt als laatste uitgevoerd
Stap 6: pluginconflicten controleren
# Deactiveer alle plugins met WP-CLI en kijk of de metabox verschijnt
wp plugin deactivate --all
# Open het bewerkscherm van een bericht in de browser en kijk of de metabox verschijnt
# Is er geen probleem, activeer dan de plugins een voor een om de oorzaak te vinden
wp plugin activate plugin-name
Stap 7: de gebruikersmeta resetten
De instellingen van Schermopties worden opgeslagen in de gebruikersmeta.
// De weergave-instellingen van metaboxen voor een bepaalde gebruiker resetten
delete_user_meta(get_current_user_id(), 'metaboxhidden_post');
delete_user_meta(get_current_user_id(), 'metaboxhidden_page');
Let op
- De instellingen van Schermopties worden per gebruiker opgeslagen. Andere gebruikers moeten ze afzonderlijk instellen.
- In de blokeditor worden alleen metaboxen met de context
sidein de zijbalk getoond. - Gebruik je ACF (Advanced Custom Fields), dan moet je de veldgroep zo instellen dat die met de blokeditor werkt.
Samenvatting
Wordt een metabox niet getoond, controleer dan eerst de vinkjes in "Schermopties". In de blokeditor is de instelling __block_editor_compatible_meta_box nodig. Helpt dat niet, ga dan na of er een pluginconflict is. Gerelateerde artikelen: Als een aangepast veld niet wordt opgeslagen, Als de blokeditor crasht
Vragen over WordPress? De uitgever van deze site zit in Japan en antwoordt in het Japans. Contact (Japans)