in segnalazioni, sviluppo, wordpress

WordPress: Usare “bene” i Custom Post Types

Il 17 Giugno è stata rilasciata ufficialmente questa nuova release di WordPress e se ancora non conoscete quali sono le novità introdotte fareste bene a documentarvi velocemente.

Per quanto mi riguarda in questi mesi ho avuto modo di usare sul campo molte di queste nuove caratteristiche ed in particolare i “tipi” mi hanno risolto parecchi problemi.

Partendo dalla presentazione che avevo fatto in occasione del WordCamp ed approfondendo ulteriormente l’argomento ho raccolto una serie di cosine utili che è bene che metta da parte per quando ne avrò nuovamente bisogno.

Partiamo da un breve elenco di plugin per chi non vuole sporcarsi le mani con il codice:

  • Custom Post Type UI: Tramite un comoda interfaccia vi consente di creare rapidamente nuovi tipi, nuove tassonomie e sopratutto di gestirne l’associazione.
  • Post Type Switcher: Aggiunge una voce al box “pubblica” nella pagina di edit che ci permette di selezionare e/o cambiare il tipo. Utilissimo se vogliamo riorganizzare contenuti già pubblicati
  • Simple Custom Post Type Archives: Questo plugin sopperisce ad una “mancanza” del core di WordPress che non rendeva di facile gestione il listing dei singoli tipi. Una volta attivato sarà possibile avere un archivio diverso in base al tipo. (es. http://nomeblog.com/nometipo/ ). Inoltre aggiunge alla gerarchia delle pagine “type.php” per personalizzarne la presentazione
  • Featured Post Type: Widget molto comodo per visualizzare nella sidebar gli ultimi post filtrandoli per tipo.
  • Custom Field Template: Se creiamo tipo diversi probabilmente avremo bisongno anche “custom filed” diversi. Questo plugin ci permette di creare box personalizzati con campi varibili in base al tipo

A seguire invece qualche snippets preso dal codex:

  • In questo modo è possibile associare le tassonomi “base” di wordpress (categorie e tag) al nostro nuovo tipo
    register_post_type(‘nome_tipo’, array(
    ‘taxonomies’ => array(‘category’, ‘post_tag’),
    ));
  • Per aggiungere un metabox personalizzato ed associarlo ad un particolare tipo (se volessimo associarlo ad un tipo buildin ci basterebbe usare ‘post’ o ‘page’ al posto di ‘nome_tipo’)
    add_meta_box( ‘html_id’, ‘Titolo del box’, ‘callback_function’,
    ‘nome_tipo’, ‘{normal|side}’ );  
  • Per capire il tipo di post del post corrente
    $tipo = get_post_type()
  • Per capire il tipo di post del post corrente
    $tipo = get_post_type()
  • Per avere un elenco di tutti i tipi (restituisce un array)
    $post_types= get_post_types()
  • Per sapere se un tipo esiste (restituisce un boolean)
    post_type_exists( $nome_tipo );

Per il momento mi fermo ed anche se le cose da dire sui tipi e le tassonomie sarebbero ancora tante spero che quanto detto posso esservi utile.

Write a Comment

Comment

  1. Ciao io sto lavorando su register_post_type e register_taxonomy
    tutto bene fino a piccolo ma per me è un grande problema quello di creare una struttura personalizzata di permalink per il mio custom post type
    usando sia una categoria personalizzata che più categorie personalizzate.
    Sapresti aiutarmi?

  2. Allora sto creando degli articoli personalizzati in wordpress in gergo detto custom post type. Ho associato ad esso 3 diverse categorie attraverso register_taxonomy.
    Facciamo l’esempio di un libro con 1: casa editrice 2: edizione 3: tipo di libro
    Fin qui tutto ok. ma quello che mi preme di fare è di creare una sorta di permalink personalizzato tipo:
    misito.it/casa-editrice/edizione/tipo-libro/nome-libro.html
    spero con questo esempio sia + che valido

  3. Faccio qualche precisazione:

    – Con register_taxonomy configuri delle tassonomie e non delle categorie (le categorie sono un tipo di tassonomia)

    – di default la struttura dei permalink per i tipi custom è questa http://miosoto.it/nometipo/slug-post quindi l’indicazione delle tassonomie non è presente

    – se vuoi personalizzare la struttura dei permalink hai parecchio lavoro da fare: iniziare a leggere qui.

    – permalink come questi: http://miosoto.it/nome-tassonomia/termine-tassonomi (es. http://miosoto.it/casa-editrice/mondadori/) ti portano ad una pagina con l’elenco di post presenti in quella tassonomia (pagina taxonomy.php)

    – in linea generale avere nel permalink l’indicazione di più tassonomie porta, imho, solo confusione

    anche se è ancora in beta dai un’occhiata a quanto sto facendo qui

    spero di esseti stato utile…

  4. Maurizio volevo farti una domanda se io imposto la struttura dei permalink in impostazioni -> permalink quella generale per gli articoli viene anche usata per i custom post type? anche pur avendo una tassonomia personalizzata?

  5. non ho ancora fatto delle prove ma la struttura indicata nelle opzioni di wp si dovrebbe riflette su tutti i tipi post (a parte il fatto che quelli custom avranno anche l’indicazione dei tipo).
    in ogni caso, la tua, è un’interssante osservazione che non ho ancora avuto modo di approfondire.
    se riesco in giornata faccio un paio di esperimenti e poi ti dico…

  6. Ciao e complimenti per l’ottimo post avrei però un dubbio e non so come fare.
    IO ho creato dei “campi” nuovi della mia nuova “categoria” chiamata recensioni e il problema arriva quando devo visualizzare l’articolo di questa mia nuova categoria, io vorrei che il codice fosse così:

    Blast ‘Em Up Review

    By Will Smith, Senior Editor
    at Recensione Aliens

    Il film è adatto ai bambini fino ai 14 anni etc etc

    Come posso fare?
    Grazie mille

  7. Ciao! Scrivo dal Canada e sn arrivata qui facendo una ricerca sui custom post che mi sn stati consigliati per modificare il mio sito portandolo su WP. Quello che non riesco a capire e’ come possono essere utilizzati per un sito di poesie ed aforismi…. Dovrei creare tag o tassonomia con i titoli o gli autori? Dove potrei vedere un Sito che applichi questi custom post?
    Grazie inifinite
    Lio

Webmentions

  • Nuova versione: Multisite Language Switcher | realloc's asylum 7 December 2011

    […] altri blog della propria Multisite. Per questa versione non ho incluso le categorie dei link e i custom post type. Tuttavia, se qualcuno mi segnala possibili vantaggi, aggiungerò tranquillamente anche questi tipi […]

  • Finalmente è arrivato WordPress 3.1 | .:: Maurizio Pelizzone ::. 7 December 2011

    […] penso così..Il changelog è bello corposo ed una lettura attenta evidenza che per chi sviluppa con Custom Post Type e tassonomie i miglioramenti sono parechi.In particolare avremo la possibilità di fare query con […]

  • WordPress: Alterare il layout durante un loop | .:: Maurizio Pelizzone ::. 7 December 2011

    […] dall’inizio ed iniziamo ad aggiungere i “custom type” in home: (io questo snippet l’ho aggiunto in functions.php ed è importante farlo in […]