Jeg lagde noen få tilpassede taksonomier, og jeg må vise ALLE begrepene fra det. Det jeg oppnådde så langt er å vise taksonomiene som er valgt / valgt i en tilpasset innleggstype, men jeg trenger at alle vises, enten det er valgt eller ikke. Slik at jeg senere kan lage et filter som filtrerer etter hvilke vilkår en egendefinert innleggstype inneholder.
<?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 } } } ?>
Hva jeg har så langt.
Takk på forhånd!
Kommentarer
- På hvilket tidspunkt mislykkes dette? Hvor mye fungerer det slik du ' liker?
- Problemet er at jeg bare kan vise de VALGTE vilkår i en tilpasset innleggstype. Jeg vil at alle skal vise om de er valgt eller ikke, jeg vil ikke ' ikke ha en dummy innleggstype som har alt valgt bare for å vise dem.
Svar
Du må sende et ekstra argument til . Standard er å skjule «tomme» vilkår – vilkår som ikke er tildelt noen innlegg.
$terms = get_terms([ "taxonomy" => $taxonomy, "hide_empty" => false, ]);
Kommentarer
- Tusen takk! Men jeg vil spørre noe, hvorfor skulle du lage en matrise inne i en variabel i stedet for å erklære den over der den første matrisen vises?
- Enkelhet. Hvis argumentarrayen var mer kompleks, ville jeg ha erklært det først (mest sannsynlig), men for et enkelt argument er det bare den enkleste måten å gjøre det på. Det skal fungere like bra uansett.
- Tusen takk 🙂 som tenkte meg mye. Jeg setter stor pris på det!
- Fungerer !! Nå kan jeg se hva ' skjer med alle taksonomilternativene! Noen plugins skaper en kompleks struktur der inne.
Svar
Siden 4.5.0 bør taksonomier sendes via taksonomi argument i $ args matrisen slik:
$terms = get_terms( array( "taxonomy" => "post_tag", "hide_empty" => false, ) );
der vilkår som ikke har noen innlegg er skjult som standard.
Svar
Denne koden henter alle kategorier og underkategorier tilpassede taksonomier ved hjelp av 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; ?>