Home › Forums › Back End › How to make a multi-peer PHP array based on WP cat heirachy? › Re: How to make a multi-peer PHP array based on WP cat heirachy?
You can use a custom walker to achieve this. It’s a fairly advanced topic but i’ll "walk" you through it :roll:
Start by creating a class for your walker either in functions.php in your theme, or wherever you like. You can use this as a template.
var $db_fields = array(‘parent’ => ‘parent’, ‘id’ => ‘term_id’);
function start_lvl(&$output, $depth) {
$output .= “
- n”;
}
function end_lvl(&$output, $depth) {
$output .= “
n”;
}
function start_el(&$output, $category, $depth, $args = null) {
$output .= “
}
function end_el(&$output, $category, $depth, $args = null) {
$output .= “
“;
}
}
This example creates an unordered list, but you can change it to accommodate ordered lists, divs, drop down menus, whatever you fancy. I have just listed the categories but for a navigation you will obviously need to include hyperlinks.
Next a function that uses the walker to produce the navigation menu.
$walker = new CategoryNavigationWalker();
echo $walker->walk(get_categories(), 0);
}
Finally, when you want to produce the navigation menu in your template use:
Hope that is easy to understand and solves your problem.
Dave