16
Мар
2017

Создание многоуровневого меню на WordPress

Подскажите, как сделать на wordpress многоуровневое меню?
Допустим есть такой массив объектов:

$categories = get_categories( 'taxonomy=product_cat' );

Как теперь построить другой массив, чтобы если в поле category_parent не нулевое значение, тогда вложить эту подкатегорию в категорию-родитель?
Пытался сделать так:

$categoriesObj = get_categories( 'taxonomy=product_cat' );
$categories = array();
foreach ($categoriesObj as $cat) {
    $categories[] = (array)$cat;
}
$tree = [];
foreach ($categories as &$category) {
    if (!$category['category_parent'])
        $tree[$category['term_id']] = &$category;
    else{
        $categories[$category['category_parent']]['childs'][$category['term_id']] = &$category;
    }
}

но выдаёт ошибку "Undefined index: category_parent"
И желательно показать, как сделать цикл, в котором для категорий и подкатегорий задаются разные блоки при формировании html меню

Источник: https://ru.stackoverflow.com/questions/640256/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5%D0%B2%D0%BE%D0%B3%D0%BE-%D0%BC%D0%B5%D0%BD%D1%8E-%D0%BD%D0%B0-wordpress

Share

Тебе может это понравится...