In questo tutorial vedremo come creare un nuovo post type per un elenco di album musicali. Creeremo tre nuovi campi per l'autore dell'album, l'anno di uscita e la locandina.
">Guarda il nuovo tutorial della versione 1.7 +Clicchiamo sul plugin ADMIN FORM e poi sul bottone "CREATE NEW FORM". Come nome scriviamo Music e clicchiamo su "Choose an existing table". Selezioniamo wp_post e clicchiamo salva.
Una volta salvata la lista verrete rediretti nel TAB FORM.
Ordiniamo i campi trascinandoli dai due triangoli sui titoli azzurri. Mettiamo alle prime posizioni ID, post_title, post_content, post_status e post_type. Tutti gli altri campi li impostiamo su HIDE.
Clicchiamo sulla matita accanto a post_title e impostiamo field type: text (single line). Modifichiamo post_content e su field type scegliamo Classic text editor.
Su post_status impostiamo come default value "publish" e selezioniamo HIDE accanto al titolo.
Su post_type impostiamo come default value "music" e selezioniamo HIDE accanto al titolo.
Andiamo in fondo alla form e clicchiamo sul bottone ADD METADATA
Configuriamo due nuovi campi:
field name: artist
field Type: Text (single line)
field label: Artist
required
field name: cover
field Type: Media gallery
field label: Cover
Salviamo la form
Ora dobbiamo dire al nostro modulo che deve filtrare i dati solo per il post_type music.
Scorriamo fino ai filtri e scegliamo come campo pos.post_type, come operatore = (Equals) e come valore music.
Salviamo.
Attenzione i filtri non vengono applicati nel tab "Browse the list"!. Per provare il funzionamento andate sulla voce di menu "music" che sarà apparsa sotto ad Admin Form.
Questo il risultato finale che dovrebbe apparire nel backend
Creiamo una nuova pagina di wordpress e inseriamo lo shortcode della lista che troviamo in alto a destra su ogni pagina di configurazione
Ora torniamo al plugin e sul tab List view formatting modifichiamo il titolo per creare il link alla pagina singola del post type.
Accanto a post_title clicchiamo la matita per modificare la colonna e poi deselezioniamo " Keeps settings aligned with information from the same field in tab 'Form'".
Su Column Type scelgo Custom e inserisco il seguente codice:
<a href="[^LINK id=[%data.ID]]">[%data.post_title]</a>
Per far funzionare un nuovo post type bisogna prima di tutto registrarlo, e poi modificare il contenuto della pagina singola per poter visualizzare i dati aggiunti. Possiamo fare tutto dentro il file function.php che troviamo dentro il template attivo. In fondo al file aggiungiamo
// Register post_type music
function adfo_type_music() {
$args = array(
'public' => true,
'query_var' => true,
'rewrite' => array('slug' => 'music')
);
register_post_type('music', $args);
}
add_action('init', 'adfo_type_music');
// I add metadata to the content
function adfo_single_page_music ( $content ) {
if ( is_single() && get_post_type() == "music") {
$adfo_detail = admin_form\ADFO::get_detail(8, get_the_ID(), false);
return $content . '<p>ARTIST: '.$adfo_detail->artist.'</p><p>Cover: '.$adfo_detail->cover.'</p>';
}
return $content;
}
add_filter( 'the_content', 'adfo_single_page_music');
Salviamo il file. L'ultimo passaggio che dobbiamo effettuare per poter rendere attive le modifiche dobbiamo far rigenerare a wordpress i link. Possiamo farlo con un piccolo trucco. Andiamo in amministrazione dentro impostazioni > permalink e salviamo la configurazione senza modificare nulla. In questo modo wordpress ricalcolerà i link del sito e aggiungerà il nostro post type music.
Abbiamo finito, ora possiamo andare sulla pagina con l'elenco degli album musicali. Cliccando sul titolo si andrà sulla pagina con il dettaglio dell'articolo e in fondo troverete l'artista e l'immagine della cover dell'album che avrete inserito.