下面的代码非常适合为自定义分类法“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>
但是,我想创建此代码的另一个相同版本,但它不是拉入所有父值的列表,而是应该提取所有子值。不适用于特定页面或帖子,但应输出自定义分类的所有子条目的选择列表,忽略父项。任何帮助都非常感谢!
答案 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>