L’illuminazione sulla via di Damasco con WP? Si diventa “santi” nella formazione quando si incontrano le media queries!

un piccolo passo per un potenziale sviluppatore ma grande per l’umanità, signori ecco a voi le media queries!

Quando si studia WP si tocca il nirvana o l’illuminazione sulla via di Damasco quando si inizia a capire che le pagine si possono personalizzare e questo avviene grazie alle custom queries! All’ indirizzo https://www.umbriaway.it/wp/chess/ ne vediamo un esempio ma ancora quello che non è charissimo è che tutte le pagine di assemblaggio si possono variare per struttura, forme e colori! Quindi l’0ideale è sperimentare sperimentare sperimentare. Ad esempio si potrebbero implementare custom post type sui LIBRI in modo da modellare altre query tematiche. Prima però bisogna costruirlo il custom post type e il codice da aggiunegre alla funzione che fa da motore sarà:

//contenuti personalizzati libro
function book_custom_post() {
    // creo e registro il custom post type
    register_post_type( 'book', /* nome del custom post type */
        // definisco le varie etichette da mostrare nei menù
        array('labels' => array(
            'name' => 'book', /* nome, al plurale, dell'etichetta del post type. */
            'singular_name' => 'book', /* nome, al singolare, dell'etichetta del post type. */
            'all_items' => 'books', /* testo nei menu che indica tutti i contenuti del post type */
            'add_new' => 'Aggiungi libro', /*testo del pulsante Aggiungi. */
            'add_new_item' => 'Aggiungi nuovo libro', /* testo per il pulsante Aggiungi nuovo post type */
            'edit_item' => 'Modifica libro', /*  testo modifica */
            'new_item' => 'Nuovo libro', /* testo nuovo oggetto */
            'view_item' => 'Visualizza libro', /* testo per visualizzare */
            'search_items' => 'Cerca libro', /* testo per la ricerca*/
            'not_found' =>  'Nessun libro trovato', /* testo se non trova nulla */
            'not_found_in_trash' => 'Nessun libro trovato nel cestino', /* testo se non trova nulla nel cestino */
            'parent_item_colon' => ''
            ), /* fine dell'array delle etichette del menu */
            'description' => 'Raccolta di libri 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-book-alt', /*nuova icona */
            'rewrite'   => array( 'slug' => 'libro', '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', 'book_custom_post');

A questo punto però quando apriamo il post dobbiamo avere sulla destra delle finestre come categorie e tags se non ci sono dobbiamo aggiungerle manualmente sempre da function.php, per la categoria:

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

e per i tags:

//* Add tags support for CPT
add_action('init', 'reg_tag');
function reg_tag() {
register_taxonomy_for_object_type('post_tag', 'book');
}

Perfetto a questo punto non ci resta che creare i contenuti e delle categorie e anche delle parole chiave per operare successive selezioni di contenuto (tags), ma dobbiamo tenere conto che nel nostro menù va aggiunta una voce LIBRI che si prenderà in carico di customizzare le nostre query sulla base di criteri scelti da noi, che so, tipo “tira fuori tutti i libri di fantascienza che hanno elementi fantasy“, oppure estrapola libri con contenuto storico intendendo la categoria ma anche il tag storia locale.

La creazione della pagina base utilizzando il template con nome page-slug

Ora dal punto di vista pratico si va su creazione nuova pagina, la si intitola LIBRI e la si salva solo dopo averle assegnato un template in basso a destra sulle impostazioni di pagina, finestra che si può attivare da impostazioni in alto a destra. Salvata la pagina automaticamente abbiamo un nuovo link aggiunto sul menù principale che linkerà tutti i nostri libri modellati con la nostra query!

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...

Blog su WordPress.com.

Su ↑

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