public static function get_multiple_from_wp_pages($wp_pages, $no_marked_infos = false, $no_wp_data = false, $no_position_infos = false, $extended_position_infos = true) { $nodes_data = array(); if (self::load_last_tree()) { $nodes_data_raw = ApmNodeDataDisplay::get_multiple_from_wp_pages($wp_pages); foreach ($nodes_data_raw as $wp_id => $node_data) { if (!$no_position_infos) { $node_data->set_node_position(self::$apm_tree->get_node_tree_infos($node_data->apm_id, $extended_position_infos)); $node_data->convert_positions_infos_to_wp_ids(); //TODO : this is not optimized... } $nodes_data[$wp_id] = new ApmWpPageTreeData($node_data); } } return $nodes_data; }
public function load_multiple_from_wp_pages($wp_pages, $no_marked_infos = false, $order_matters = true, $no_wp_data = false, $append = false) { $loaded_apm_ids = array(); if (!$append) { $this->nodes_data = array(); } $ids_wp = array(); foreach ($wp_pages as $page) { $ids_wp[] = $page->ID; } $intern_data_loaded = ApmNodeDataIntern::load_multiple_from_wp_ids($ids_wp, $order_matters); $nodes_data = $intern_data_loaded['nodes_data']; $ids_wp = $intern_data_loaded['ids_wp']['page']; if (empty($nodes_data)) { return; } foreach ($nodes_data as $apm_id => $intern_data) { $display_data = new ApmNodeDataDisplay(); $display_data->set_intern_data($intern_data); $this->nodes_data[$apm_id] = $display_data; $loaded_apm_ids[] = $apm_id; } if (!$no_wp_data) { $this->load_wp_data($ids_wp, $wp_pages); } if (!$no_marked_infos) { $this->load_marked_infos(); } return $loaded_apm_ids; }