How to limit the number of terms (terms acts like categories)

number 
    (integer) The maximum number of terms to return. Default is to return them all. 

http://codex.wordpress.org/Function_Reference/get_terms

So…

$terms = get_terms('new_category',array('number' => 5));

But there is a good chance that some of your terms will never show up. You will get the first five or the last five (in the example) depending on the sort order. You may want something like this instead:

$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>';
}

Leave a Comment