Как ограничить количество терминов (термины работают как категории)
Здравствуйте, я создал таксономию в пользовательском типе записи, которая работает как категория.
Затем я создал термины, которые функционируют как категории.
Я создал виджет, который показывает все термины из таксономии. Все работает отлично.
Но я не могу понять, как ограничить количество отображаемых терминов.
Я добавил поле ввода в свой виджет. Если я введу какое-то число, я хочу, чтобы виджет ограничивал показ только этим количеством терминов.
Спасибо за помощь!
Код для отображения всех терминов:
// Получаем все термины таксономии 'new_category'
$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>';
number
(integer) Максимальное количество терминов для возврата. По умолчанию возвращаются все.
http://codex.wordpress.org/Function_Reference/get_terms
Итак...
$terms = get_terms('new_category',array('number' => 5));
Но есть большая вероятность, что некоторые из ваших терминов никогда не появятся. Вы получите первые пять или последние пять (в примере) в зависимости от порядка сортировки. Возможно, вам нужно что-то вроде этого:
$terms = get_terms('category');
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>';
}

измените значение number по необходимости
$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>';
