J'ai créé quelques taxonomies personnalisées et je dois montrer TOUTES les conditions, ce que j’ai réalisé jusqu’à présent montre les taxonomies sélectionnées/choisies dans un type de publication personnalisé, mais j’ai besoin de toutes les montrer, qu’elles soient sélectionnées ou non. . Pour pouvoir ensuite créer un filtre qui filtre en fonction des termes que contient une valeur de type de publication personnalisée.
<?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 que j'ai jusqu'à présent.
Merci d'avance!
Vous devez passer un argument supplémentaire à get_terms()
. La valeur par défaut est de masquer les termes "vides" - termes qui ne sont affectés à aucun article.
$terms = get_terms([
'taxonomy' => $taxonomy,
'hide_empty' => false,
]);
Depuis la version 4.5.0, les taxonomies doivent être passées via l’argument ‘taxonomy’ dans le tableau $ args de la manière suivante:
$terms = get_terms( array(
'taxonomy' => 'post_tag',
'hide_empty' => false,
) );
où les termes qui n'ont pas de messages sont masqués par défaut.
Ce code récupère toutes les taxonomies personnalisées de catégorie et de sous-catégorie à l'aide de 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;
?>