Finchè il Custom Post Type va lascialo andare: come Orietta ti risolve una situazione critica

Custom Post Type, tipi di post personalizzati

Classificare i propri CD con WP? Si può fare

L’ideale sarebbe studiare i tipi di post personalizzato in wordpress e dopo 24 ore -magari passando dal Santuario della Salette che è qua vicino-, ti svegli il mattino dopo sapendo già tutto, strano perchè nei film di Star Trek questo succede regolarmente solo indossando un paio di strane cuffie per cinque minuti. Ma nella realtà è diverso e ci si scontra con delle situazioni di gioco dove magari un tutorial che trovi in rete nel tuo caso non va bene perchè non hai la possibilità di gestire all’ interno del tuo tema artigianale che stai tirando su in modalità bottom-up l’opzione CHILD per esempio e allora se qualcuno non ti dice come funziona la gerarchia dei file wordpress per visualizzare le informazioni, tu non puoi andare avanti, per esempio. Quindi devi fare quella che in PNL chiamano RICALCO: devi andare sul sito ufficiale di wordpress per capirci qualcosa, oppure devi passare per delle piattaforme di e-learning come Udemy per esempio dove ci sono degli ottemi corsi o ancora devi tirare la coperta un pò a destra o a sinistra provando e riprovando cercando le informazioni dove capita, in ogni caso il tempo passa e per tua fortuna puoi compilare il tuo bugiardino a fine serata soddisfatto perchè le tue activity le stai portando avanti. Vediamo nel dettaglio che cosa è stato fatto per far funzionare il tutto. Ho recuperato in rete lo script su CD offerto dal bravo webmaster che ha condiviso l’informazione, link: https://alessioangeloro.it/, quindi ho creato seguendo le modalità indicate lo script all’ interno del function.php per mettere in piedi una sezione specifica di articoli dedicati alla musica, Ricordiamo che i tipi di post possono essere prevalentemente di due tipi più diffusi (sono molti di più) che sono equiparabili a PAGE e POST, nel nostro caso lavoriamo sui POST:

function cd_custom_post() {
    // creo e registro il custom post type
    register_post_type( 'cd', /* nome del custom post type */
        // definisco le varie etichette da mostrare nei menù
        array('labels' => array(
            'name' => 'CD', /* nome, al plurale, dell'etichetta del post type. */
            'singular_name' => 'CD', /* nome, al singolare, dell'etichetta del post type. */
            'all_items' => 'Tutti i CD', /* testo nei menu che indica tutti i contenuti del post type */
            'add_new' => 'Aggiungi nuovo', /*testo del pulsante Aggiungi. */
            'add_new_item' => 'Aggiungi nuovo cd', /* testo per il pulsante Aggiungi nuovo post type */
            'edit_item' => 'Modifica CD', /*  testo modifica */
            'new_item' => 'Nuovo CD', /* testo nuovo oggetto */
            'view_item' => 'Visualizza CD', /* testo per visualizzare */
            'search_items' => 'Cerca CD', /* testo per la ricerca*/
            'not_found' =>  'Nessun CD trovato', /* testo se non trova nulla */
            'not_found_in_trash' => 'Nessun CD trovato nel cestino', /* testo se non trova nulla nel cestino */
            'parent_item_colon' => ''
            ), /* fine dell'array delle etichette del menu */
            'description' => 'Raccolta di CD del portale', /* descrizione del post type */
            'public' => true, /* definisce se il post type sia visibile sia da front-end che da back-end */
            'publicly_queryable' => true, /* definisce se possono essere fatte query da front-end */
            'exclude_from_search' => false, /* esclude (false) il post type dai risultati di ricerca */
            'show_ui' => true, /* definisce se deve essere visualizzata l'interfaccia di default nel pannello di amministrazione */
            'query_var' => true,
            'menu_position' => 8, /* definisce l'ordine in cui comparire nel menù di amministrazione a sinistra */
            /*'menu_icon' => get_stylesheet_directory_uri() . '/img/mia-icona.png',  imposta l'icona da usare nel menù per il posty type */
			      'menu_icon' => 'dashicons-download', /*nuova icona */
            'rewrite'   => array( 'slug' => 'cd', 'with_front' => false ), /* specificare uno slug per leURL */
            'has_archive' => true, /* definisci se abilitare la generazione di un archivio (tipo archive-cd.php) */
            'capability_type' => 'post', /* definisci se si comporterà come un post o come una pagina */
            'hierarchical' => false, /* definisci se potranno essere definiti elementi padri di altri */
            /* la riga successiva definisce quali elementi verranno visualizzati nella schermata di creazione del post */
            'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'sticky')
        ) /* fine delle opzioni */
    ); /* fine della registrazione */

}

// Inizializzo la funzione
add_action( 'init', 'cd_custom_post');

Se aprissi ora la sezione CD per compilare un post sarei senza il riquadro categorie sulla destra quindi aggiungo anche:

//* Add categories support for CPT
add_action( 'init', 'category_cd' );
function category_cd() {
register_taxonomy_for_object_type( 'category', 'cd' );
}

Bravo! Fine lavori! MADDECHE?!

A questo punto ho finito? Macchè i consigli riportati sopra valgono per chi ha la possibilità di gestire i TEMI CHILD e non è il nostro caso, da questo momento dobbiamo arrampicarci sugli specchi da soli, per fortuna, anche perchè l’esercizio a questo punto diventa qualcosa di totalmente autonomo rispetto allo script originale. Quindi cosa dovremmo sapere per far funzionare il tutto?

Conoscere la gerarchia di file

Se stai lavorando su un tipo di post di tipo blog, quindi POST, hai due punti di riferimento sui file base di un tema e cioé single.php e archive.php che gestiscono rispettivamente il singolo post e la lista dei post. Quindi abbiamo bisogno di questi due template per gestire la nuova sezione di post appena creati con la dicitura CD, file che diventeranno rispettivamente single-cd.php e archive-cd.php secondo la convenzione degli SLUG

Linkare la pagina con la lista sul menù

A questo punto tramite l’opzione LINK PERSONALIZZATO , passando dalla BACHECA e dalle voci di menù ASPETTO e MENU dobbiamo dire che la pagina degli archivi personalizzata sarà il luogo del delitto per andare a consultare la nostra sezione , come mostrano le immagini messe in evidenza in questo post e da qui si potrà a scelta esplodere il singolo articolo!

conoscere i CPT? Missione compiuta (o quasi)

Conclusioni

Si noti che rispetto all’ approccio “grafico”, indirizzo https://umbriawaytarget.wordpress.com/2021/02/11/non-sai-niente-di-custom-post-type-ma-vuoi-combattere-il-crimine-e-lotti-per-una-giustizia-che-sia-giusta-e-uguale-per-tutti-allora-hai-bisogno-del-plug-in-custom-post-type-ui-per-wordpress-anche-se/ dove si usa un plu-in specifico e si esporta successivamente il codice, all’ indirizzo https://www.umbriaway.it/wp/genere/explore/ non esiste all’ interno dell’ applicazione un file di archivio di supporto e allora la domanda è, come fa WP a tirare fuori una pagina dal nulla? Perchè lavora per gerarchie e se non trova quello che gli serve risale fino al TEMPLATE che risolve il suo problema specifico in quel momento, in questo caso la pagina potrebbe essere quella salvagente che entra in gioco all’ ultimo stadio della ricerca, la index.php; la questione relativamente ai CPT è molto complessa perchè entrano in gioco tante opzioni e personalizzazioni e senza toccare con mano quello che fanno le varie voci coinvolte difficilmente si può avere un quadro generale su questo argomento.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Crea un sito o un blog gratuito su WordPress.com.

Su ↑

%d blogger hanno fatto clic su Mi Piace per questo: