Cómo limitar el número de términos (los términos actúan como categorías)
Hola, he creado una taxonomía en un tipo de contenido personalizado que actúa como categoría.
Luego he creado términos que funcionan como categorías.
He creado un widget que muestra todos los términos de la taxonomía. Todo funciona perfectamente.
Pero no entiendo cómo limitar el número de términos a mostrar.
He creado un campo de entrada en mi widget. Así que si ingreso un número, quiero que el widget limite la visualización solo a esa cantidad de términos.
¡Gracias por la ayuda!
El código para mostrar todos los términos es:
$terms = get_terms('new_category');
echo '<ul>';
foreach ($terms as $term) {
$term_link = get_term_link( $term, 'new_category' );
echo '<li><a href="' . $term_link . '"><div>' . $term->name . '</div></a></li>';
}
echo '</ul>';
número
(entero) El número máximo de términos a devolver. Por defecto devuelve todos.
http://codex.wordpress.org/Function_Reference/get_terms
Entonces...
$terms = get_terms('nueva_categoria', array('number' => 5));
Pero existe una buena posibilidad de que algunos de tus términos nunca aparezcan. Obtendrás los primeros cinco o los últimos cinco (en el ejemplo) dependiendo del orden de clasificación. Tal vez prefieras algo como esto:
$terms = get_terms('categoria');
if (!is_wp_error($terms)) {
$pick = ($pick <= count($terms)) ?: count($terms);
$rand_terms = array_rand($terms, $pick);
echo '<ul>';
foreach ($rand_terms as $key => $term) {
$term = $terms[$term];
$term_link = get_term_link($term);
var_dump($term_link);
if (!is_wp_error($term_link)) {
echo '<li><a href="' . $term_link . '"><div>' . $term->name . '</div></a></li>';
}
}
echo '</ul>';
}

// Obtener 4 términos de la taxonomía 'new_category'
$terms = get_terms('new_category', array('number' => 4));
// Iniciar lista no ordenada
echo '<ul>';
// Recorrer cada término y mostrar como elemento de lista con enlace
foreach ($terms as $term) {
$term_link = get_term_link($term, 'new_category');
echo '<li><a href="' . $term_link . '"><div>' . $term->name . '</div></a></li>';
}
// Cerrar lista
echo '</ul>';

cambia el valor del número según sea necesario
$terms = get_terms('new_category', 'number=10');
echo '<ul>';
foreach ($terms as $term) {
$term_link = get_term_link( $term, 'new_category' );
echo '<li><a href="' . $term_link . '"><div>' . $term->name . '</div></a></li>';
}
echo '</ul>';
