Am făcut câteva taxonomii personalizate și trebuie să arăt TOȚI termenii, ceea ce am realizat până acum este să arăt taxonomiile selectate / alese în un tip de postare personalizat, dar am nevoie de toate pentru a fi afișate, dacă este selectat sau nu. Astfel, mai târziu pot face un filtru care filtrează în funcție de ce termeni conține o valoare de tip de postare personalizată.

<?php $args=array( "public" => true, "_builtin" => false ); $output = "names"; // or objects $operator = "and"; $taxonomies=get_taxonomies($args,$output,$operator); if ($taxonomies) { foreach ($taxonomies as $taxonomy ) { $terms = get_terms($taxonomy); foreach ( $terms as $term) { ?> <li><br><a href="#"><input type="checkbox" name="profile[]" value=""><?php echo $term->name; ?> <br/></a></li> <?php } } } ?> 

Ce am până acum.

Mulțumesc anticipat!

Comentarii

  • În ce moment eșuează acest lucru? Cât de mult funcționează așa cum ți-ar plăcea '?
  • Funcționează, problema este că pot să afișez doar termeni într-un tip de postare personalizată. Vreau ca toți să fie selectați sau nu, nu ' nu vreau să am un tip de postare fals care să aibă totul selectat doar pentru a le arăta.

Răspuns

Trebuie să transmiteți un argument suplimentar către . Implicit este să ascundeți termenii „goi” – termeni care nu sunt atribuiți nicio postare.

$terms = get_terms([ "taxonomy" => $taxonomy, "hide_empty" => false, ]); 

Comentarii

  • Mulțumesc mult! Dar vreau să întreb ceva, de ce ați crea o matrice în interiorul unei variabile în loc să o declarați deasupra locului unde este afișată prima matrice?
  • Simplitate. Dacă matricea de argumente ar fi mai complexă, aș fi declarat-o mai întâi (cel mai probabil), dar pentru un singur argument, acesta este doar cel mai simplu mod de a o face. Ar trebui să funcționeze la fel de bine în ambele sensuri.
  • Mulțumesc mult 🙂 asta m-a gândit foarte mult. Îl apreciez foarte mult!
  • Funcționează !! Acum pot vedea ce ' se întâmplă cu toate opțiunile de taxonomie! Unele pluginuri creează o structură complexă acolo.

Răspuns

Începând cu 4.5.0, taxonomiile ar trebui transmise prin argumentul „taxonomie” din matricea $ args deci:

$terms = get_terms( array( "taxonomy" => "post_tag", "hide_empty" => false, ) ); 

unde termenii care nu au postări sunt ascunși în mod implicit.

Răspuns

Acest cod preluează toate taxonomiile personalizate de categorie și subcategorie utilizând get_terms():

<?php $wcatTerms = get_terms("product_cat", array("hide_empty" => 0, "parent" =>0)); foreach($wcatTerms as $wcatTerm) : ?> <ul> <li> <a href="<?php echo get_term_link( $wcatTerm->slug, $wcatTerm->taxonomy ); ?>"><?php echo $wcatTerm->name; ?></a> <ul class="megaSubCat"> <?php $wsubargs = array( "hierarchical" => 1, "show_option_none" => "", "hide_empty" => 0, "parent" => $wcatTerm->term_id, "taxonomy" => "product_cat" ); $wsubcats = get_categories($wsubargs); foreach ($wsubcats as $wsc): ?> <li><a href="<?php echo get_term_link( $wsc->slug, $wsc->taxonomy );?>"><?php echo $wsc->name;?></a></li> <?php endforeach; ?> </ul> </li> </ul> <?php endforeach; ?> 

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *