Loop through array of pages

时间:2019-09-22 作者:GeorgeP

我正在尝试递归地获取页面的所有子级(无限深度),我正在使用下面的函数,from this solution:

function get_all_subpages($page, $args = \'\', $output = OBJECT) {
    if (! is_numeric($page))
        $page = 0;

    $default_args = array(
        \'post_type\' => \'page\',
    );
    if (empty($args))
        $args = array();
    elseif (! is_array($args))
        if (is_string($args))
            parse_str($args, $args);
        else
            $args = array();
    $args = array_merge($default_args, $args);
    $args[\'post_parent\'] = $page;

    $valid_output = array(OBJECT, ARRAY_A, ARRAY_N);
    if (! in_array($output, $valid_output))
        $output = OBJECT;

    $subpages = array();
    $children = get_children($args, $output);
    foreach ($children as $child) {
        $subpages[] = $child;

        if (OBJECT === $output)
            $page = $child->ID;
        elseif (ARRAY_A === $output)
            $page = $child[\'ID\'];
        else
            $page = $child[0];

        $subpages = array_merge($subpages, get_all_subpages($page, $args, $output));
    }

    return $subpages;
}
WordPress中迭代返回的数组的正确方法是什么,以便我可以使用以下函数get_permalink 在子页上?

1 个回复
SO网友:GeorgeP

对于上述功能,这将起作用:

$children = get_all_subpages($cat_id, $args, OBJECT);
foreach ($children as $post) { 
         echo $post->guid;
         echo $post->post_title;
}

相关推荐

警告:CALL_USER_FUNC_ARRAY()要求参数%1为有效回调,找不到函数‘ADD_CUSTOM_SCRIPTS’或函数名无效

从上周开始,我就面临着这个错误的问题。我在谷歌上搜索了很多,但没有找到任何解决方案。https://delegatehosting.com/ 这是我的网站警告:call\\u user\\u func\\u array()要求参数1为有效回调,在/home/www/delegatehosting中找不到函数“add\\u custom\\u scripts”,或函数名无效。com/wp包括/类wp挂钩。php在线286。这是我面临的问题