Site icon Noir Solutions

Aggiungere dati al Database con le Taxonomy WordPress

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

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

 

 

labels (array opzionale) che può essere composto da

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!
 ); ?>
Exit mobile version