Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当前父类别中的子类别_Php_Wordpress_Woocommerce_Categories_Product - Fatal编程技术网

Php 当前父类别中的子类别

Php 当前父类别中的子类别,php,wordpress,woocommerce,categories,product,Php,Wordpress,Woocommerce,Categories,Product,我正在尝试显示对应父类别的woocommerce产品子类别。我输入的产品如下: 我使用以下代码段显示父类别列表 这很有效。现在我想修改我的代码段以显示如下输出: 相册 英语歌曲 现代歌曲 流行音乐 摇滚乐 我该怎么做呢。请帮我解决这个问题。感谢您的高级支持。首先,创建所有项目的数组 $all = array( 0 =>array( "id"=> 1, "name"=> "A",

我正在尝试显示对应父类别的woocommerce产品子类别。我输入的产品如下:

我使用以下代码段显示父类别列表


这很有效。现在我想修改我的代码段以显示如下输出:

相册 英语歌曲 现代歌曲 流行音乐 摇滚乐
我该怎么做呢。请帮我解决这个问题。感谢您的高级支持。

首先,创建所有项目的数组

$all = array(
        0 =>array(
                "id"=> 1,
                "name"=> "A",
                "parent_id"=> 0
            ),
         1 =>array(
                "id"=> 2,
                "name"=> "B",
                "parent_id"=> 1
            ),
         2 =>array(
                "id"=> 3,
                "name"=> "C",
                "parent_id"=> 1
            ),
         3 =>array(
                "id"=> 4,
                "name"=> "D",
                "parent_id"=> 2
            ),
        4 =>array(
                "id"=> 5,
                "name"=> "E",
                "parent_id"=> 0
            ),
    );      
使用此函数从项目生成递归n次数组

function makeMenu($items, $parentId)
{
    $menu = array_filter($items, function ($item) use ($parentId) {
        return     $item['parent_id'] == $parentId;
    });
    foreach ($menu as &$item) 
    {
        $subItems = makeMenu($items, $item['id']);
        if (!empty($subItems)) 
        {
            $item['sub_menu'] = $subItems;
        }
    }
    return $menu;
}
调用函数
makeMenu($yourArray,$parentID)


我已经解决了这个问题,在woocommerce wordpress中显示了类别、子类别和产品如下:


makeMenu($all,0); ////parent ID is 0 by default while calling..