我试图递归地获取页面的所有子级(无限深度),并使用下面的函数从这个解决方案:
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这样的函数?
发布于 2019-09-22 21:44:37
对于上述职能,这将起作用:
$children = get_all_subpages($cat_id, $args, OBJECT);
foreach ($children as $post) {
echo $post->guid;
echo $post->post_title;
}https://wordpress.stackexchange.com/questions/348851
复制相似问题