Modificare la pagina di modifica per un tipo di post personalizzato?

31 ago 2013, 02:32:03
Visualizzazioni: 22K
Voti: 5

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?

5
Commenti

Non credo. L'ho letto ore fa e non spiegava esattamente come definire i miei div personalizzati per visualizzare i campi personalizzati nella pagina di modifica. Inoltre, quando imposto show_ui su false, perdo completamente il CPT nel mio menu di amministrazione - nemmeno questo è ideale. A meno che non stia semplicemente non collegando i puntini?

Pat Pat
31 ago 2013 03:14:08

Sì, se imposti il CPT su false perdi tutti i menu e le interfacce predefinite. Vuoi una tabula rasa. È il massimo della pulizia che puoi ottenere. Puoi poi costruire la tua interfaccia utente personalizzata per il CPT.

s_ha_dum s_ha_dum
31 ago 2013 03:45:42

Quello che stai facendo sopra, tra l'altro, è il modo giusto per rimuovere le parti della schermata di modifica predefinita che sono rimovibili - non tutte lo sono. Questo è il problema che stai avendo. Solo alcune parti della schermata di modifica sono modificabili. Non otterrai mai una tabula rasa. Costruire da zero è l'unico modo per rimuovere tutto.

s_ha_dum s_ha_dum
31 ago 2013 03:49:26

Sì, esattamente quello che chiedo. Come faccio ad ottenere una tabula rasa? La domanda duplicata proposta che hai votato non mi aiuta molto. Come ho detto - non riesco a connettere i puntini su questo.

Pat Pat
31 ago 2013 04:10:50
Tutte le risposte alla domanda 2
0

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
31 ago 2013 05:23:55
0

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
31 ago 2013 05:40:59