Apakah ada fungsi untuk mendapatkan daftar Meta Box yang terdaftar dan menghapusnya? Saya melihat ada metode untuk menambah, dan menghapus.
http://codex.wordpress.org/Function_Reference/remove_meta_box
Apakah ada fungsi untuk mendapatkan daftar Meta Box yang terdaftar dan menghapusnya? Saya melihat ada metode untuk menambah, dan menghapus.
http://codex.wordpress.org/Function_Reference/remove_meta_box
Jawaban:
Tidak juga, tetapi Anda dapat menentukan sendiri. Semua kotak meta disimpan dalam variabel global $wp_meta_boxes
yang merupakan array multi dimensi.
function get_meta_boxes( $screen = null, $context = 'advanced' ) {
global $wp_meta_boxes;
if ( empty( $screen ) )
$screen = get_current_screen();
elseif ( is_string( $screen ) )
$screen = convert_to_screen( $screen );
$page = $screen->id;
return $wp_meta_boxes[$page][$context];
}
Array ini akan menampilkan semua kotak meta yang terdaftar untuk layar tertentu dan konteks tertentu. Anda juga dapat menelusuri lebih jauh karena array ini juga merupakan array multidimensi yang memisahkan kotak meta berdasarkan prioritas dan id.
Jadi katakanlah Anda ingin mendapatkan larik yang berisi semua kotak meta yang prioritas "normal" di Dasbor admin. Anda akan memanggil yang berikut ini:
$dashboard_boxes = get_meta_boxes( 'dashboard', 'normal' );
Ini identik dengan array global$wp_meta_boxes['dashboard']['normal']
dan juga array multi dimensi.
Katakanlah Anda ingin menghapus banyak kotak meta. Fungsi di atas dapat sedikit diubah untuk memanfaatkan bahwa:
function remove_meta_boxes( $screen = null, $context = 'advanced', $priority = 'default', $id ) {
global $wp_meta_boxes;
if ( empty( $screen ) )
$screen = get_current_screen();
elseif ( is_string( $screen ) )
$screen = convert_to_screen( $screen );
$page = $screen->id;
unset( $wp_meta_boxes[$page][$context][$priority][$id] );
}
Jika Anda ingin menghapus, misalnya, widget tautan masuk dari Dasbor, Anda akan menelepon:
remove_meta_boxes( 'dashboard', 'normal', 'core', 'dashboard_incoming_links' );
global
tidak bekerja untuk saya! Terima kasih. wordpress.stackexchange.com/questions/318834/…
Di Dashboard WordPress, ada kotak meta yang ditampilkan. Ada kolom normal, dan kolom samping.
Saya dapat memperoleh daftar kotak meta yang terdaftar dan menghapusnya dari dasbor dengan menggunakan kode berikut:
// Remove some non-sense meta boxes
function remove_dashboard_meta_boxes(){
global $wp_meta_boxes;
// Dashboard core widgets :: Left Column
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
// Additional dashboard core widgets :: Right Column
unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);
unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
// Remove the welcome panel
update_user_meta(get_current_user_id(), 'show_welcome_panel', false);
}
add_action('wp_dashboard_setup', 'remove_dashboard_meta_boxes');
Cukup gunakan print_r($wp_meta_boxes);
untuk melihat daftar kotak meta yang terdaftar.
print_r($wp_meta_boxes);