Néhány egyéni taxonómiát készítettem, és meg kell mutatnom az összes kifejezést belőle, amit eddig elértem, az a rendszertan, amelyet kiválasztottak / választottak egyéni bejegyzés típus, de mindegyikre szükségem van a megjelenítéshez, függetlenül attól, hogy be vannak-e jelölve, vagy sem. Hogy később elkészíthessek egy szűrőt, amely megszűri, hogy mely kifejezéseket tartalmazza az egyéni bejegyzés típusa.
<?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 } } } ?>
Amit eddig rendelkeztem.
Előre is köszönöm!
Hozzászólások
- Ez mikor történik meg? Mennyiből működik úgy, ahogy ' tetszik?
- Működik az a kérdés, hogy csak a KIVÁLASZTOTTAT mutathatom kifejezéseket egy egyéni bejegyzéstípusban. Azt akarom, hogy mindegyikük megmutassa, hogy a kiválasztott vagy sem, nem ' nem akarok olyan dummy post típusú típust, amelynél mindent csak kijelöltek.
Válasz
További argumentumot kell átadnia a . Az alapértelmezés az “üres” kifejezések elrejtése – olyan kifejezések elrejtése, amelyek nincsenek hozzászólásokhoz rendelve.
$terms = get_terms([ "taxonomy" => $taxonomy, "hide_empty" => false, ]);
Megjegyzések
- Nagyon köszönöm! De szeretnék kérdezni valamit, miért hozna létre egy tömböt egy változó belsejében, ahelyett, hogy az első tömb fölött deklarálná?
- Egyszerűség. Ha az argumentumtömb összetettebb lenne, akkor először deklaráltam volna (legvalószínűbb), de egyetlen argumentumra, amely csak a legegyszerűbb módja ennek. Mindkét módon ugyanolyan jól kell működnie.
- Köszönöm szépen 🙂 ez nagyon rám gondolt. Nagyon értékelem!
- Működik !! Most már látom, mi folyik ' az összes taxonómiai lehetőség mellett! Egyes bővítmények összetett struktúrát hoznak létre ott.
Válasz
4.5.0 óta a taxonómiákat a taxonomy argumentum az $ args tömbben:
$terms = get_terms( array( "taxonomy" => "post_tag", "hide_empty" => false, ) );
ahol alapértelmezés szerint nincsenek posztolva azok a kifejezések, amelyeknek nincs posztja.
Válasz
Ez a kód az összes kategória- és alkategória-rendszert beolvassa a get_terms()
használatával:
<?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; ?>