Come Ottenere Tutte le Tassonomie E Tutti i Termini per Ogni Tassonomia Con Conteggio Post Zero
4 lug 2012, 01:05:38
Visualizzazioni: 16.4K
Voti: 2
Esiste un modo semplice per ottenere tutte le tassonomie registrate e, per ogni tassonomia, tutti i termini associati, includendo il conteggio dei post per ogni termine, senza dover effettivamente recuperare tutti i dati dei post?
Presumo che sia sicuramente possibile. Presumo anche che richieda una query al database piuttosto lunga utilizzando $wpdb
.

Michael Ecklund
6.8K
Tutte le risposte alla domanda
2
0
Puoi farlo semplicemente con get_terms
- questa funzione ti permette di recuperare tutti (o alcuni) i termini da una o più tassonomie.
Per impostazione predefinita esclude i termini 'vuoti', quindi dovrai configurare gli argomenti appropriatamente.
//Array di tassonomie per cui ottenere i termini
$taxonomies = array('category','post_tags','my-tax');
//Imposta gli argomenti - non 'nascondere' i termini vuoti.
$args = array(
'hide_empty' => 0
);
$terms = get_terms( $taxonomies, $args);
$empty_terms=array();
foreach( $terms as $term ){
if( 0 == $term->count )
$empty_terms[] = $term;
}
//$empty_terms contiene i termini che sono vuoti.
Se desideri ottenere un array di tassonomie registrate in modo programmatico puoi usare get_taxonomies()

Stephen Harris
32.6K
4 lug 2012 01:48:28
0
<?php
// il nome della tua tassonomia
$tax = 'cat';
// ottieni i termini della tassonomia
$terms = get_terms( $tax, $args = array(
'hide_empty' => false, // non nascondere i termini vuoti
));
// scorri tutti i termini
foreach( $terms as $term ) {
// Ottieni il link al termine
$term_link = get_term_link( $term );
if( $term->count > 0 )
// mostra il link all'archivio del termine
echo '<a href="' . esc_url( $term_link ) . '">' . $term->name .'</a>';
elseif( $term->count !== 0 )
// mostra il nome
echo '' . $term->name .'';
}
?>

ztvmark
121
17 ott 2017 03:43:10
Domande correlate
2
risposte
6
risposte