Wordpress WP_Term_Query 自定义分类 Select 选项

Wordpress WP_Term_Query Custom Taxonomy Select Options

下面的代码非常适合为名为 'make' 的自定义分类法中的所有条目拉入 select 选项列表。只拉父级别的就完美了

            <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>

但是,我想创建此代码的另一个相同版本,但不是拉入所有父值的列表,它应该拉入所有子值。不适用于特定页面或 post,但应输出自定义分类法的所有子条目的 select 列表,忽略父条目。非常感谢任何帮助!

您可以使用 get_term_childrenget_term_by 函数来构建您的第二个 select:

<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>