我正在尝试创建一个循环遍历所有父类别的循环,并回显包含其名称的<header>
,然后在其下方回显包含其子类别的列表。如图所示。
到目前为止,我所得到的只是一个简单的foreach
,它可以获取类别。但是我需要正确输出的帮助。
$categories = get_categories( array(
'orderby' => 'name',
'order' => 'ASC'
));
foreach($categories as $category) {
//the problem starts here.
}
答案 0 :(得分:1)
您可以获得这样的列表,更改单选按钮的代码
<?php
$taxonomyName = "category";
$parent_terms = get_terms($taxonomyName, array('parent' => 0, 'orderby' => 'slug', 'hide_empty' => false));
foreach ($parent_terms as $pterm) {
echo '<div class="single_cat col-md-3">';
echo '<h3>'.$pterm->name.'</h3>';
$terms = get_terms($taxonomyName, array('parent' => $pterm->term_id, 'orderby' => 'slug', 'hide_empty' => false));
foreach ($terms as $term) {
echo "<ul>";
echo '<li><a href="' . get_term_link($term) . '">' . $term->name . '</a></li>';
echo "</ul>";
}
echo '</div>';
}
?>
答案 1 :(得分:0)
使用参数parent
来解决问题。
尝试这种方法-
$categories = get_categories( array(
'orderby' => 'name',
'order' => 'ASC',
'parent' => 0,
));
foreach($categories as $category) {
//Echo parent element
$child_categories = get_categories( array(
'orderby' => 'name',
'order' => 'ASC',
'parent' => $category->term_id,
));
// now loop through $child_categories
}