To display a list of categories with their child categories following the parent categories, you can use WordPress’s get_categories()
function to fetch the categories and their child categories.
Simple script print to show parent categories with own child category attached in looping you can review the code and implement to your code as per reference.
For Example
Parent Category
- Child Category
- child category
Parent Category
- child category
$categories = get_categories(array(
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => false // Include empty categories as well
));
$parent_categories = array();
$child_categories = array();
// Separate parent and child categories
foreach ($categories as $category) {
if ($category->parent == 0) {
$parent_categories[] = $category;
} else {
$child_categories[$category->parent][] = $category;
}
}
// Display parent categories and their child categories
foreach ($parent_categories as $parent_category) {
echo '<h2>' . $parent_category->name . '</h2>';
if (isset($child_categories[$parent_category->term_id])) {
echo '<ul>';
foreach ($child_categories[$parent_category->term_id] as $child_category) {
echo '<li>' . $child_category->name . '</li>';
}
echo '</ul>';
}
}