Modificare la pagina di modifica per un tipo di post personalizzato?
Ho cercato questo tutto il giorno e non riesco a trovarlo.
Sto lavorando su una pagina di contatti personalizzata e sto utilizzando la funzionalità dei tipi di post personalizzati (custom post type) in modo da avere più controllo su di essa. Sto cercando di modificare la pagina di modifica per utilizzare un template personalizzato (per esempio quando vado su /wp-admin/post.php?post=1234&action=edit
), voglio che mostri una pagina personalizzata. Non ho bisogno di meta box o altro. Forse l'editor, ma verso il fondo della pagina (non nella posizione predefinita in alto).
Ho trovato come rimuovere i meta box, ma non ho trovato come ottenere una pagina pulita sulla pagina di modifica del CPT.
function remove_metaboxes(){
remove_meta_box('postexcerpt', 'obpcontacts', 'normal'); // Box dell'estratto
remove_meta_box('commentstatusdiv', 'obpcontacts', 'normal'); // Box dello stato dei commenti
remove_meta_box('commentsdiv', 'obpcontacts', 'normal'); // Box dei commenti
}
add_action( 'add_meta_boxes', 'remove_metaboxes',11 );
Avete suggerimenti su come creare un template personalizzato nella sezione di modifica wp-admin per il mio tipo di post personalizzato?

Per quanto ne so, puoi rimuovere quasi tutto tranne il tag h2
del titolo e il bordo di .postbox-container
. Inoltre, nota che #message
non è visibile di default ma può apparire a seconda di ciò che fai.
Quando registri il tuo CPT, imposta supports
come un array vuoto.
'supports' => array ('')
Poi puoi usare il seguente codice per rimuovere il box di pubblicazione e lo slug (lo slug non è visibile di default ma è presente sotto le opzioni dello schermo),
function remove_metaboxes(){
remove_meta_box('slugdiv', 'obpcontacts', 'normal'); // Slug
remove_meta_box('submitdiv', 'obpcontacts', 'side'); // Publish box
}
add_action( 'add_meta_boxes', 'remove_metaboxes', 11 );
Rimarranno alcuni elementi che potrebbero dover essere rimossi con javascript:
//jQuery enqueue solo sul tuo CPT
.removeClass("wrap"); //rimuove tutto il CSS

Se non hai bisogno della funzionalità (anziché nasconderla) puoi rimuoverla completamente nell'elenco degli argomenti forniti a register_post_type()
.
Questo mostrerà solo i campi titolo e editor.
$args = array(
'supports' => array( 'title', 'editor' )
);
Supporti possibili:
- 'title'
- 'editor' (contenuto)
- 'author'
- 'thumbnail' (immagine in evidenza, il tema corrente deve supportare post-thumbnails)
- 'excerpt'
- 'trackbacks'
- 'custom-fields'
- 'comments' (mostrerà anche il pallone del conteggio commenti nella schermata di modifica)
- 'revisions' (salverà le revisioni)
- 'page-attributes' (ordine del menu, hierarchical deve essere true per mostrare l'opzione Parent)
- 'post-formats' aggiunge i formati articolo, vedi Post Formats
