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_box is nodig
  • Probleem met de prioriteit van de hook: de timing van de hook add_meta_boxes klopt 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 side in 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)

お気軽にご相談ください

お見積りへ お問い合わせへ
▲