Cómo obtener todas las taxonomías Y todos los términos para cada taxonomía con conteo de posts cero
4 jul 2012, 01:05:38
Vistas: 16.4K
Votos: 2
¿Existe una manera sencilla de obtener todas las taxonomías registradas y, para cada taxonomía, obtener todos los términos, y para cada término, obtener el conteo de posts, sin tener que recuperar todos los datos de los posts?
Supongo que definitivamente es posible. También asumo que requeriría una consulta de base de datos bastante larga usando $wpdb
.

Michael Ecklund
6.8K
Todas las respuestas a la pregunta
2
0
Puedes hacer esto simplemente con get_terms
- esto te permite obtener todos (o algunos) de los términos de una (o más) taxonomías.
Por defecto excluye los términos 'vacíos', por lo que tendrás que configurar los argumentos adecuadamente.
//Array de taxonomías para obtener términos
$taxonomies = array('category','post_tags','my-tax');
//Establecer argumentos - no 'ocultar' términos vacíos.
$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 los términos que están vacíos.
Si deseas obtener un array de taxonomías registradas programáticamente puedes usar get_taxonomies()

Stephen Harris
32.6K
4 jul 2012 01:48:28
0
<?php
// tu nombre de taxonomía
$tax = 'cat';
// obtener los términos de la taxonomía
$terms = get_terms( $tax, $args = array(
'hide_empty' => false, // no ocultar términos vacíos
));
// recorrer todos los términos
foreach( $terms as $term ) {
// Obtener el enlace del término
$term_link = get_term_link( $term );
if( $term->count > 0 )
// mostrar enlace al archivo del término
echo '<a href="' . esc_url( $term_link ) . '">' . $term->name .'</a>';
elseif( $term->count !== 0 )
// mostrar nombre
echo '' . $term->name .'';
}
?>

ztvmark
121
17 oct 2017 03:43:10
Preguntas relacionadas
2
respuestas
1
respuestas