2017-03-22 101 views
0

下面的代码非常适合为名为“make”的自定义分类中的所有条目提供选择选项列表。它只会拉动父母的水平,这是完美的。Wordpress WP_Term_Query自定义分类选择选项

  <select id="make" name="make"> 
       <option value="">--</option> 
       <?php $term_query = new WP_Term_Query(array('taxonomy' => 'make', 'parent' => 0)); if (! empty($term_query->terms)) { 
        foreach ($term_query ->terms as $term) { 
         echo '<option class="' . $term->name . '" value="' . $term->name . '">' . $term->name . '</option>'; 
        } 
       } else {  
       };?> 
      </select> 

但是,我想创建此代码的另一个相同的版本,但不是在所有父值的列表拉,应该在所有的子值拉。不是针对特定的页面或帖子,而是应输出自定义分类的所有子条目的选择列表,忽略父母。任何帮助非常感谢!

回答

1

你可以使用get_term_childrenget_term_by功能来建立你的第二个选择:

<select id="make" name="make"> 
<option value="">--</option> 
<?php 
    $term_query = new WP_Term_Query(array('taxonomy' => 'make', 'parent' => 0)); 
    if (! empty($term_query->terms)) { 
     foreach ($term_query ->terms as $term) { 
      $term_children = get_term_children($term->term_id, 'make'); 
      foreach($term_children as $children){ 
       $child = get_term_by('id', $children, 'make'); 
       echo '<option class="' . $child->name . '" value="' . $child->name . '">' . $child->name . '</option>'; 
      } 
     } 
    } else { 
    }; 
?> 
</select> 
+0

惊人的 - 谢谢! – dmt