2026年11月12日
2026年11月12日
Meta Box WordPress Tidak Muncul: Penyebab dan Cara Mengatasinya
Artikel ini adalah edisi lokal dari artikel asli berbahasa Jepang. Baca artikel asli berbahasa Jepang
Pendahuluan
Meta box yang ditambahkan oleh plugin tidak tampil di layar edit pos, meta box yang tadinya terlihat tiba-tiba hilang, atau meta box di sidebar tidak muncul setelah beralih ke block editor. Meta box yang tidak tampil berkaitan dengan pengaturan layar dan kompatibilitas dengan block editor.
Gejala dan penyebab
Penyebab utama meta box tidak tampil:
- Disembunyikan di Opsi Layar: pengaturan tampilan per pengguna diatur ke "disembunyikan"
- Tidak kompatibel dengan block editor: pengaturan
__block_editor_compatible_meta_boxdiperlukan - Masalah prioritas hook: waktu eksekusi hook
add_meta_boxestidak sesuai - Kesalahan penentuan tipe pos: tipe pos pada argumen ketiga salah
- Konflik plugin: plugin lain menghapus meta box
Langkah penyelesaian
Langkah 1: Periksa Opsi Layar
Penyebab yang paling sering adalah pengaturan sembunyi di Opsi Layar.
1. Klik "Opsi Layar" (Screen Options) di kanan atas layar edit pos
2. Periksa apakah centang pada meta box yang ingin ditampilkan terlepas
3. Beri centang lalu tutup, maka meta box akan tampil
Langkah 2: Periksa implementasi add_meta_box
// functions.php — menambahkan meta box dengan benar
add_action('add_meta_boxes', function() {
add_meta_box(
'my_meta_box_id', // ID (string unik)
'Info Kustom', // Judul
'render_my_meta_box', // Fungsi callback
['post', 'page'], // Tipe pos (bisa beberapa dalam array)
'normal', // Konteks: normal/side/advanced
'high' // Prioritas: 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) . '">';
}
Langkah 3: Tampilkan meta box di block editor
Dukungan meta box di block editor (Gutenberg) terbatas.
// Tampilkan meta box juga di block editor
add_action('add_meta_boxes', function() {
add_meta_box(
'my_meta_box_id',
'Info Kustom',
'render_my_meta_box',
'post',
'normal',
'high',
// Nyatakan kompatibilitas dengan block editor secara eksplisit
['__block_editor_compatible_meta_box' => true]
);
});
Langkah 4: Nonaktifkan block editor untuk memeriksa
// functions.php — nonaktifkan block editor untuk tipe pos tertentu
add_filter('use_block_editor_for_post_type', function($use_block_editor, $post_type) {
if ($post_type === 'post') {
return false; // Beralih ke classic editor
}
return $use_block_editor;
}, 10, 2);
Atau Anda juga bisa memasang plugin "Classic Editor" lalu mengaturnya dari layar admin.
Langkah 5: Debug tampilan meta box
// Periksa apakah meta box sudah terdaftar
add_action('add_meta_boxes', function() {
global $wp_meta_boxes;
error_log('Meta boxes: ' . print_r(array_keys($wp_meta_boxes), true));
}, 999); // Dijalankan paling akhir dengan prioritas 999
Langkah 6: Periksa konflik plugin
# Nonaktifkan semua plugin dengan WP-CLI lalu periksa meta box
wp plugin deactivate --all
# Buka layar edit pos di browser dan periksa apakah meta box muncul
# Jika tidak ada masalah, aktifkan plugin satu per satu untuk menemukan penyebabnya
wp plugin activate plugin-name
Langkah 7: Reset user meta
Pengaturan Opsi Layar disimpan di user meta.
// Reset pengaturan tampilan meta box untuk pengguna tertentu
delete_user_meta(get_current_user_id(), 'metaboxhidden_post');
delete_user_meta(get_current_user_id(), 'metaboxhidden_page');
Catatan penting
- Pengaturan Opsi Layar disimpan per pengguna. Pengguna lain perlu mengaturnya masing-masing.
- Di block editor, hanya meta box berkonteks
sideyang tampil di sidebar. - Jika memakai ACF (Advanced Custom Fields), diperlukan pengaturan grup field yang mendukung block editor.
Ringkasan
Jika meta box tidak tampil, periksa dulu centang di "Opsi Layar". Di block editor, pengaturan __block_editor_compatible_meta_box diperlukan. Jika masih belum teratasi, pisahkan kemungkinan konflik plugin. Artikel terkait: Jika custom field tidak bisa disimpan, Jika block editor mengalami crash
Ada pertanyaan tentang WordPress? Penerbit situs ini berada di Jepang dan membalas dalam bahasa Jepang. Kontak (bahasa Jepang)