Puoi rimuovere le meta box predefinite con remove_meta_box e aggiungerle nuovamente in una posizione diversa con add_meta_box:
add_action('do_meta_boxes', 'wpse33063_move_meta_box');
function wpse33063_move_meta_box(){
remove_meta_box( 'postimagediv', 'post', 'side' );
add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', 'post', 'normal', 'high');
}
La risposta sopra è dal seguente thread: Come modificare la posizione predefinita delle meta box WP?
AGGIORNARE
Se la frustrazione principale è puramente la quantità di meta-box disponibili e non pensi che ogni utente abbia bisogno di tutte le box, puoi nasconderle da ruoli utente inferiori o da tutti i ruoli usando il seguente codice aggiunto al file Functions.php. NOTA: questo metodo nasconde semplicemente la meta-box e non le disattiva o rimuove.
//Hide Post Page Options from all except Administrator
if (!current_user_can('administrator')){
function hide_post_page_options() {
global $post;
$hide_post_options = "<style type=\"text/css\"> #wptotwitter_div, wpseo_meta, #al2fb_meta, #misc-publishing-actions .misc-pub-section label, #misc-publishing-actions .misc-pub-section #post-status-display, #misc-publishing-actions .misc-pub-section .edit-post-status, #visibility.misc-pub-section, .al2fb_post_submit, #slugdiv, #edit-slug-box, #screen-options-link-wrap { display: none; }</style>";
print($hide_post_options);
}
add_action( 'admin_head', 'hide_post_page_options' );
}
//Hide Post Page Options from ALL users
function hide_all_post_page_options() {
global $post;
$hide_all_post_options = "<style type=\"text/css\"> #taxonomy-category li.hide-if-no-js, #commentstatusdiv, #wypiekacz_sectionid, #postexcerpt, #trackbacksdiv, #postcustom, #yarpp_relatedposts { display: none !important; }</style>";
print($hide_all_post_options);
}
add_action( 'admin_head', 'hide_all_post_page_options' );
Fondamentalmente, devi solo inserire l'id div o la classe separati da una virgola. Ho appena lasciato il mio lì dentro per mostrare che tutti i tipi di meta box e aree possono essere nascoste.
#wptotwitter_div - WP to Twitter plugin
#wpseo_meta - Wordpress SEO by Yoastplugin
#al2fb_meta, .al2fb_post_submit - Add Link to Facebookplugin
#misc-publishing-actions .misc-pub-section label, #misc-publishing-actions .misc-pub-section #post-status-display, #misc-publishing-actions .misc-pub-section .edit-post-status, #visibility.misc-pub-section - Default Wordpress Publish Status and Visibility
#slugdiv, #edit-slug-box - The post slug
#screen-options-link-wrap - The "Screen Options" tab at the top of the page
#taxonomy-category li.hide-if-no-js - The "Most Used" categories tab
#commentstatusdiv - The comments on the post
#wypiekacz_sectionid - Wypiekacz plugin
#postexcerpt - Post excerpt
#trackbacksdiv - Trackbacks
#postcustom - Custom post fields
#yarpp_relatedposts - Yet Another Related Posts Plugin
(Ho messo gli esempi in "codice" perché SE usa # per rappresentare un'intestazione)
Ho pensato di buttartelo via perché, come te, sono stato estremamente frustrato con tutte le meta-scatole, ma alla fine penso che sia il numero assoluto di scatole indesiderate. Per un "autore" sul mio sito Web, ora è molto semplificato: titolo, contenuto, salva come bozza, pubblica ora o programma per essere pubblicato, tag, categorie e immagine in primo piano ... Nessun disordine.