Wordpress WP_Term_Query自定义分类选择选项

时间:2017-03-22 21:08:26

标签: php jquery wordpress custom-taxonomy

下面的代码非常适合为自定义分类法“make”中的所有条目选择一个选项列表。它只会提取完美的父级别。

            <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 个答案:

答案 0 :(得分:1)

您可以使用 get_term_children get_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>