it-swarm.com.de

Alle Begriffe einer benutzerdefinierten Taxonomie anzeigen?

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!

16
David H

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,
]);
35
s_ha_dum

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.

5
Lawrence Oputa

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; 
   ?>
2
amit gangrade