Ich habe ein paar benutzerdefinierte Taxonomien erstellt und muss ALLE darin enthaltenen Begriffe anzeigen. Was ich bisher erreicht habe, ist die Anzeige der Taxonomien, die in einem benutzerdefinierten Beitragstyp ausgewählt/ausgewählt wurden, aber ich muss sie alle anzeigen, ob sie ausgewählt sind oder nicht . Damit ich später einen Filter erstellen kann, der nach den Begriffen filtert, die ein benutzerdefinierter Beitragstypwert enthält.
<?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
}
}
}
?>
Was ich bisher habe.
Danke im Voraus!
Sie müssen ein zusätzliches Argument an get_terms()
übergeben. Standardmäßig werden "leere" Begriffe ausgeblendet - Begriffe, die keinen Beiträgen zugewiesen sind.
$terms = get_terms([
'taxonomy' => $taxonomy,
'hide_empty' => false,
]);
Seit 4.5.0 sollten Taxonomien über das Argument "Taxonomie" im Array "$ args" übergeben werden.
$terms = get_terms( array(
'taxonomy' => 'post_tag',
'hide_empty' => false,
) );
dabei werden Begriffe, die keine Beiträge enthalten, standardmäßig ausgeblendet.
Mit diesem Code werden alle benutzerdefinierten Taxonomien für Kategorien und Unterkategorien mit get_terms()
abgerufen:
<?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;
?>