Sempre più spesso facciamo uso dei custom post type per poter realizzare siti web sempre più evoluti in wordpress.

Abbiamo già visto in passato cosa sia e come si possa creare un custom post type.

Vediamo adesso cosa dobbiamo fare per poter creare il nostro template in wordpress, estraendo i custom post type:

La nuova versione di WP_Query consente di filtrare i dati di tipo “custom post type”, grazie al parametro tax_query. Ecco cosa si dice la documentazione a riguardo:

Show posts associated with certain taxonomy.

  • {tax} (string) – use taxonomy slug. Deprecated as of Version 3.1 in favor of ‘tax_query‘.
  • tax_query (array) – use taxonomy parameters (available with Version 3.1).
  • taxonomy (string) – Taxonomy.
  • field (string) – Select taxonomy term by (‘id’ or ‘slug’)
  • terms (int/string/array) – Taxonomy term(s).
  • include_children (boolean) – Whether or not to include children for hierarchical taxonomies. Defaults to true.
  • operator (string) – Operator to test. Possible values are ‘IN’, ‘NOT IN’, ‘AND’.

Vediamo ora di rendere tutto più interessante.

Specifica: dobbiamo realizzare un cartellone di spettacoli per un sito web per teatri, ed il cliente ci chiede di raggruppare gli spettacoli in base al mese, ordinandoli da gennaio a dicembre all’interno dell’anno. Come possiamo estrarre questi dati?

Dobbiamo far ricorso alla query di base evidenziata in precedenza, filtrando per i meta_value delle date spettacolo:

Possiamo notare un paio di elementi interessanti in questa query:

  1. abbiamo applicato il filtro SQL BETWEEN per estrarre i custom post type ‘spettacolo’ che abbiano una data spettacolo compresa tra “dataDa” e “dataA”;
  2. abbiamo imposto l’ordinamento per un meta_value “dataDa”, di modo da ordinare i risultati sulla base della prima data dello spettacolo

dillo ad un amico

autore

Cercando l'impossibile, l'uomo ha sempre realizzato e conosciuto il possibile, e coloro che si sono saggiamente limitati a ciò che sembrava possibile non sono mai avanzati di un sol passo.

Approfondisci

Cosa ne pensi ?