Cum să limitezi numărul de termeni (termenii funcționează ca categorii)

10 sept. 2013, 21:32:22
Vizualizări: 16.4K
Voturi: 6

Bună, am creat o taxonomie în post type-ul personalizat care funcționează ca o categorie.

Apoi am creat termeni care funcționează ca categorii.

Am creat un widget care afișează toți termenii din taxonomie. Totul funcționează perfect.

Dar nu înțeleg cum să limitez numărul de termeni afișați.

Am creat un input în widget-ul meu. Dacă introduc un număr, vreau ca widget-ul să limiteze afișarea doar la acel număr de termeni.

Mulțumesc pentru ajutor!

Codul pentru afișarea tuturor termenilor este:

$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>';
1
Comentarii

Ai citit documentația pentru get_terms?

Milo Milo
10 sept. 2013 21:37:17
Toate răspunsurile la întrebare 3
0
number 
    (integer) Numărul maxim de termeni de returnat. Implicit este să returneze toți.

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

Deci...

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

Dar există o șansă mare ca unii dintre termeni să nu apară niciodată. Vei primi primii cinci sau ultimii cinci (în exemplu) în funcție de ordinea de sortare. Poate vei dori în schimb ceva de genul:

$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>';
}
10 sept. 2013 21:59:20
0
$terms = get_terms('new_category', array('number' => 4));
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>';
8 iun. 2018 14:57:47
0

schimbă valoarea numerelor conform cerințelor

$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>';
10 sept. 2013 21:51:14