id = $id_pagina; $storia = $this->storia(); $pointer =& $this->menu; foreach ($storia as $id) { $pointer[$id] = $this->figli($id); $pointer =& $pointer[$id]; } } // ritorna un array con tutti gli ID degli antenati della pagina (compresa) function storia () { $storia = array_reverse(get_post_ancestors($this->id)); array_push($storia, $this->id); return $storia; } function figli ( $id_pagina ) { $figli = get_pages("child_of={$id_pagina}&hierarchical=0&parent={$id_pagina}&sort_column=menu_order"); if(count($figli)){ $IDs = array(); foreach ($figli as $f) $IDs[$f->ID] = NULL; return $IDs; } return NULL; } // funzione ricorsiva che costruisce l'html del menĂ¹ function html ( $array, $classe = 'children' ) { $return = "'; return $return; } // restituisce true se la pagina ha un menu contestuale function ha_menu_contestuale () { return is_array(current($this->menu)); } }