Un altro metodo suggerito da WordPress per immettere dati nel database è quello di castomizzare le Taxonomies.
Ossia attaccare ad un post una taxonomy che lo possa identificare. La traduzione più o meno letterale della parola taxonomy è termine.
Per fare questo ci avvarremo in primis della funizone register_taxonomy che serve appunto a registrare una tassonomia (categoria o tag) la sua sintassi è

Funzione register_taxonomy()

Questa funzione ha unicamente il compito di aggiungere o sovrascrivere una tassonomia. Questa funzione non ritorna nulla.
La sua sintassi è la seguente

<?php register_taxonomy( $taxonomy, $object_type, $args ); ?>

$taxonomy (stringa) (campo obbligatorio) Il nome della taxonomia , deve essere formato da lettere in minuscolo di lunghezza massima di 32 caratteri.
$object_type uno degli oggetti a cui la taxonomy viene attaccata ossia

  • post
  • page
  • attachment
  • revision
  • nav_menu_item
  • custom_css
  • customize_changeset
  • $args è invece un campo opzionale che può essere composto o da un array di string oppure da una singola string. Che possono essere

Vediamo i campi principali di cui è composto l’array $args

  • label (stringa opzionale) una descrizione del nome della taxonomy

 

 

labels (array opzionale) che può essere composto da

  • name nome generale della taxonomia generalmente plurale
  • singular_name nome per one oggetto della tassonomia. Il suo valore di default è dato da _x( ‘Category’, ‘taxonomy singular name’ ).
    menu_name il nome del menu testo di defual il valore del nome della label
  • all_item ossia tutti gli oggetti di testo . Di defaul __( ‘All Tags’ ) oppure __( ‘All Categories’ )
    edit_item la modifica all’oggetto testo di default è __( ‘Edit Tag’ ) or __( ‘Edit Category’ )
  • view_item la veduta dell’oggetto testo di default __( ‘View Tag’ ) oppure __( ‘View Category’ )
  • ‘update_item’ – l’aggiornamento dell’oggetto testo. Di Default è __( ‘Update Tag’ ) oppure __( ‘Update Category’ )
    ‘add_new_item’ -l’aggiunta di nuovi oggetti testo di default è __( ‘Add New Tag’ ) oppure __( ‘Add New Category’ )
  • ‘new_item_name’ – Il nuovo nome oggetto testo, di default è __( ‘New Tag Name’ ) oppure __( ‘New Category Name’ )
    ‘parent_item’ – La tassonomia di livello superiore, ovviamente vale solo per le categorie e non per i tag. Il suo valore di default è null oppure __( ‘Parent Category’ )
  • ‘parent_item_colon’ – stesso valore di parent_item ma con relativa colonna. null, __( ‘Parent Category:’ )
  • ‘search_items’ di default __( ‘Search Tags’ ) or __( ‘Search Categories’ )
    ‘popular_items’ – Gli oggetto testo più popolari di default __( ‘Popular Tags’ ) oppure null
  • ‘separate_items_with_commas’ – gli oggetti separati con virgola nella tassonomia, quindi le tags. Di default __( ‘Separate tags with commas’ ), oppure null
  • ‘add_or_remove_items’ aggiunge o rimuove oggetto testo di default è __( ‘Add or remove tags’ ) oppure null
    ‘choose_from_most_used’ – sceglie fra i tags piu’ utilizzati di default è __( ‘Choose from the most used tags’ ) oppure null
  • ‘not_found’ per indicare che nessuno oggetto è stato trovato a seguito di una ricerca valore di default è
    __( ‘No tags found.’ ) or __( ‘No categories found.’ )

public

( Boolean ) ( opzionale ) Se una tassonomia è destinato all’uso pubblico sia tramite l’interfaccia di amministrazione o dagli utenti front-end. Le impostazioni di default di `$publicly_queryable`,` $show_ui`, e `$show_in_nav_menus` sono ereditati da` $public`.
Predefinito: true

publicly_queryable ( Boolean ) ( opzionale ) Se la tassonomia è pubblicamente interrogabile.
Predefinito: $pubblic

show_ui
( Boolean ) ( opzionale ) se generare una interfaccia utente di default per la gestione di questa tassonomia.
Default: se non impostato, è impostato al valore della pubblica discussione. A partire dal 3.5 , l’impostazione di questa per falsa per tassonomie di attacco nasconderà l’interfaccia utente.

show_in_menu
( Boolean ) ( opzionale ) Dove mostrano la tassonomia nel menu di amministrazione. show_ui deve essere vero .
Predefinito: il valore di argomento show_ui
‘False’ – non visualizzare nel menu di amministrazione
‘Vera’ – mostra come un sottomenu di tipi di oggetti associati
show_in_nav_menus
( Boolean ) ( opzionale ) vero rende questa tassonomia disponibile per la selezione nel menu di navigazione.
Default: se non impostato, il default è il valore di pubblica discussione

show_in_rest
( Boolean ) ( opzionale ) se includere o meno la tassonomia nella API REST.
Predefinito: false

rest_base
( Stringa ) ( opzionale ) Per modificare l’URL di base di REST API percorso.
Predefinito: $tassonomia

rest_controller_class
( Stringa ) ( opzionale ) API REST controller nome della classe.
Predefinito: WP_REST_Terms_Controller
show_tagcloud
( Boolean ) ( opzionale ) se consentire al widget di Tag Cloud per usare questa tassonomia.
Default: se non impostato, il default è il valore di show_ui argomento
show_in_quick_edit
( Boolean ) ( opzionale ) Se mostrare la tassonomia del riquadro di modifica rapida / bulk. (Disponibile dal 4.2 )
Default: se non impostato, il default è il valore di show_ui argomento
meta_box_cb
( callback ) ( opzionale ) Fornire un nome funzione di callback per la casella di meta. (Disponibile dal 3.8 )
Predefinito: null
Nota: Il valore predefinito è meta box category ( post_categories_meta_box () in meta-boxes.php ) per tassonomie gerarchiche ei tag meta scatola ( post_tags_meta_box () ) per tassonomie non gerarchici. la Meta Box non è mostrata nel caso di settaggio impostato a false.

show_admin_column
( Boolean ) ( opzionale ) se si deve consentire la creazione automatica delle colonne tassonomia sul tavolo associata post-tipi. (Disponibile dal 3,5 )
Predefinito: false
description
( Stringa ) ( opzionale ) includere una descrizione della tassonomia.
Predefinito: “”
hierarchic
( Boolean ) ( opzionale ) È questo tassonomia gerarchica (avere discendenti) come categorie o meno gerarchica come tag.
Predefinito: false
Nota: tassonomie gerarchiche avranno un elenco con caselle di controllo per selezionare una categoria esistente nella casella di amministrazione tassonomia sulla pagina del post di modifica (come Categorie messaggio di default). Tassonomie non gerarchici dovranno semplicemente un campo di testo vuoto di digitare in termini tassonomia da associare al messaggio (come i tag posta di default).

update_count_callback
( Stringa ) ( opzionale ) Un nome di funzione che verrà chiamato quando il conteggio di un associato $object_type , come la posta, viene aggiornato. Funziona come un gancio.

query_var
( Booleano o una stringa ) ( opzionale ) False per disabilitare il query_var, impostata come stringa da usare personalizzato query_var al posto di default, che è $tassonomia, “nome” della tassonomia.
Predefinito: $tassonomia
rewrite
( Booleano / array ) ( opzionale ) impostato su false per evitare URL automatiche di riscrittura . Passa un $args array per evitare le impostazioni predefinite per gli URL del permalink come illustrato di seguito:
Predefinito: true
‘ slug’ – Usato come testo piuttosto permalink (cioè / tag /) – default $tassonomia (di tassonomia nome slug)

‘ With_front’ – permettendo al permalink da anteporre con base anteriore – il default è vero

‘ hierarchical – vero o falso permettono di usare URL gerarchici (implementati in versione 3.1 ) – il default è false

‘ Ep_mask’ – (necessario per i pretty permalinks)
capabilities
( array ) ( opzionale ) Un array delle capacità di questa tassonomia.

Predefinito: Nessuno
‘ Manage_terms’ – ” manage_categories
‘ Edit_terms’ – ” manage_categories
‘ Delete_terms’ – ” manage_categories
‘ Assign_terms’ – ” edit_posts
sort

( Boolean ) ( opzionale ) Questa tassonomia indica l’ordine in cui vengono aggiunti i termini oggetto.
Predefinito: Nessuno

_builtin
( Boolean ) ( non per uso generale )
usato per le tassonomie non native

Vediamo dunque un piccolo esempio per compredere come fare

<?php
 add_action( 'init', 'create_book_tax' );

function create_book_tax() {
 register_taxonomy(
 'genre',
 'book',
 array(
 'label' => __( 'Genre' ),
 'rewrite' => array( 'slug' => 'genre' ),
 'hierarchical' => true,
 )
 );
 }
 ?>
 Mentre inserire un termine nella tassonomia è realmente molto semplice.

Per esempio pensiamo di volere aggiungere il termine Isola dei Famosi alla tag Reality Show al post numero 15 non dovremo fare altro che usare la seguente funzione

 wp_set_object_terms( 15, 'Isola dei famosi', 'realityshow' );

notare realityshow tutto minuscolo e tutto attaccato.

Mentre se vogliamo visualizzare un cloud di tassonomie dovremo utilizzare la

 Funzione wp_tag_cloud()

nel seguente modo

 <?php wp_tag_cloud( $args ); ?>

dove una possibile implementazione degli argomenti è la seguente

 <?php $args = array(
 'smallest' => 8,
 'largest' => 22,
 'unit' => 'pt',
 'number' => 45,
 'format' => 'flat',
 'separator' => "\n",
 'orderby' => 'name',
 'order' => 'ASC',
 'exclude' => null,
 'include' => null,
 'topic_count_text_callback' => default_topic_count_text,
 'link' => 'view',
 'taxonomy' => 'post_tag',
 'echo' => true,
 'child_of' => null, // see Note!
 ); ?>