Подскажите, как сделать на 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 меню
Вроде как сделал нужное меню, но есть одна ошибка. Вообщем меню создаётся нормально, но вместо самой последней подкатегории выводится почему-то родительская категория этой подкатегории.
$categoriesObj = get_categories( 'taxonomy=product_cat' );
$categories = array();
foreach ($categoriesObj as $cat) {
$categories[$cat->cat_ID] = (array)$cat;
}
$treeMenu = array();
foreach ($categories as $id => &$category) {
if (!$category['category_parent'])
$treeMenu[$id] = &$category;
else{
$categories[$category['category_parent']]['childs'][$category['cat_ID']] = &$category;
}
}
foreach ( $treeMenu as $category ) {
echo 'category_nicename='.$category['category_nicename'].'<br>';
echo 'cat_name='.$category['cat_name'].'<br>';
if (isset($category['childs'])) {
$tab = '----';
foreach ( $category['childs'] as $cat ) {
echo $tab.'category_nicename='.$cat['category_nicename'].'<br>';
echo $tab.'cat_name='.$cat['cat_name'].'<br>';
}
}
}
Если в последнем цикле сделать var_export($category), то выдаёт такую ошибку перед выводом самой последней подкатегории:
var_export does not handle circular references in
Подскажите, как устранить эту ошибку? т.е. чтобы вместо последней подкатегории выводилась не родительская категория
category1
--subcat1
--subcat2
category2
--subcat1
--subcat2
--category2
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Я использую PDOПолученный результат я вывожу через foreach
Получаю вот такие символы с яндекс переводчика{"code":200,"lang":"en-en","text":["пÑивеÑ"]} Как это исправить?